SQL 服务器 BCP 函数不会写入文件

SQL Server BCP function will not write a file

将 BCP 实用程序下载到 sql 服务器后,我 运行 此代码允许我从 SSMS 中 运行 BCP:

EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

现在我正在尝试使用以下代码将测试文件写入我的计算机:

exec xp_cmdshell 
'bcp 
"select top 5 patientid from tpsqldb1.cdw.dbo.pmview" 
queryout
"c:\users\pmckann\documents\test.csv" -T t, -S TPSQLDB1\MSSQLSERVER
'

但是没有写入文件。它说查询在底部成功执行,但没有创建文件。其余的输出是这样的:

任何指示,无论多么基本,都将不胜感激。

这对我一直有效:

 Exec Master..xp_cmdshell 'bcp "select top 5 columnname from dbname.dbo.tablename" queryout "c:\temp\test9.csv" -c -U username -P password -S servername\instancename'

好的。 Kashif Qureshi 有一个很好的答案,但我想更具体地说明为什么我的原始代码不起作用。您不能将 bcp 命令的行分开。它必须在一行中。另外,我删除了 -S 行。:

EXECUTE master..xp_cmdshell 'bcp "select top 5 * from cdw.dbo.pmview" queryout C:\temp\test.csv -t, -c -T ' 

感谢大家的帮助。