执行master.xp_cmdshell bcp 创建文件仅适用于 C:驾驶



我正在尝试使用 bcp 创建通过存储过程生成的格式化文本文件xp_cmdshell。 它有效,但仅在 C:\驾驶。 当我尝试在 E:\ 上创建文件时驱动器或共享驱动器,我收到以下错误:

SQLState = S1000,本机错误 = 0 错误 = [Microsoft][ODBC 驱动程序 13 对于 SQL Server]无法打开 BCP 主机数据文件

我确实确保 E:\ 上存在相同的文件夹结构驱动器或共享驱动器,但没有运气。 相同的代码适用于 E:\ 的不同服务器也开车。 我的技术不够,无法弄清楚两台服务器之间可能有什么不同。

我在管理工作室/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:BlacklineSBGL_' + @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

如果此信息有帮助,我正在使用服务帐户(我相信这是标准的(。 如果这是权限或配置问题,请告诉我!

事实证明,我需要通过右键单击并通过安全性来授予对特定文件夹的服务帐户的完全访问权限。

最新更新