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 '
感谢大家的帮助。
将 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 '
感谢大家的帮助。