【发布时间】:2019-06-30 20:31:16
【问题描述】:
我正在尝试使用 xp_cmdshell bcp 创建通过存储过程生成的格式化文本文件。它有效,但仅在 C:\ 驱动器上。当我尝试在 E:\ 驱动器或共享驱动器上创建文件时,出现以下错误:
SQLState = S1000,NativeError = 0 错误 = [Microsoft][ODBC 驱动程序 13 对于 SQL Server]无法打开 BCP 主机数据文件
我确实确保 E:\ 驱动器或共享驱动器上存在相同的文件夹结构,但没有运气。同样的代码也适用于 E:\ 驱动器的不同服务器。我没有足够的技术来弄清楚两台服务器之间可能有什么不同。
我在 Management Studio / Sql Server Agent 中运行的代码:
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