BCP错误“无法打开BCP格式文件”

时间:2019-10-03 20:08:31

标签: sql-server ssms bcp

我试图从视图中生成新格式的文件,以便创建以竖线分隔的平面文件。

我在SSMS 2014中使用xp_cmdshell

我正在使用以下代码:

BCP [UGM31EdwDemo].dbo.vwCCLF1_Output   format nul -c -f C:\CCLF1Demo.fmt -t, -T

这是我收到的结果:

  

SQLState = S1000,NativeError = 0

     

错误= [Microsoft] [用于SQL Server的ODBC驱动程序13]无法打开BCP   格式文件

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

最可能的原因是(由于某些事情可能出错),这是因为SQL Server服务帐户无法写入根C:\文件夹。尝试使用其他路径/网络共享。

使用XP_CMDSHELL时,必须注意,您不再是执行传递的BCP命令的“用户”。当您将BCP命令字符串传递给XP_CMDSHELL时,将在基础OS(SQL Server处理之外)上启动新的会话/线程。此新会话使用SQL Server运行帐户的身份验证。

另一个帐户需要此权限才能写入要放置格式文件的位置。

此外,如果您的SQL Server是联网的SQL Server(而不是在桌面上运行的SQL Server),则很可能已阻止对C:\的写权限。甚至IT部门可能已经将台式机配置为不允许写入C:\根文件夹。

只需尝试写入另一个您有权访问所有内容的文件夹即可。