EXEC master..xp_cmdshell BCP创建的文件只能在C:\驱动器

问题描述 投票:0回答:1

我试图创建一个使用xp_cmdshell的BCP通过存储过程生成一个格式化的文本文件。它的工作原理,但只能在C:\驱动器。当我尝试创建E中的文件:一个共享驱动器\驱动器或,我收到以下错误:

SQLSTATE = S1000,NativeError = 0错误= [微软] [ODBC SQL Server的驱动程序13]无法打开BCP主数据文件

我没有做存在E上确保相同的文件夹结构:\驱动器或共享驱动器,但没有运气。此相同的代码工作在不同的服务器上的E:\驱动器,以及。我没有足够的技术来找出可能是两个服务器之间的不同。

我的代码,我在Management Studio / SQL Server代理运行:

declare @sql varchar(1024);
declare @bcp varchar(1024);
Declare @DateSuffix char(8)
SELECT @DateSuffix = cast(convert(CHAR,GETDATE(),112)as varchar(8)) 
declare @filename varchar(1024)

set @filename = 'C:\Blackline\SB\GL_' + @DateSuffix + '.txt'
set @sql = 'exec VoyagerX.dbo.COPT_uspVOYtoBlackLine_GL_Extract'
set @bcp = 'bcp "' + @sql + '" queryout "' + @filename + '"  -T -c  -S'   

exec master..xp_cmdshell @bcp

如果该信息有帮助,我使用的服务帐户(我相信这是标准)。如果这是许可或配置问题,请让我知道!

sql-server-2012 bcp xp-cmdshell
1个回答
0
投票

事实证明,我需要右击并通过安检要充分获取服务帐户到一个特定的文件夹。

© www.soinside.com 2019 - 2024. All rights reserved.