bcp命令不起作用

时间:2011-03-18 23:01:47

标签: sql-server bcp

我正在使用以下bcp命令

BCP "select * from PACIFIC.dbo.CEOExtractCorpRulesView with(nolock) " 
   queryout "d:\temp\CEOExtractCorpRulesView.txt" 
   -S"tcp:BCBWEC-VIRTD2\SQL2005" -c -t"|!" -U"userid" -P"password" 

我每次都会收到错误

  

Msg 102,Level 15,State 1,Line 1   'queryout'附近的语法不正确。

请让我知道问题所在。这不是我的剧本。

由于

5 个答案:

答案 0 :(得分:4)

如果我尝试通过将其粘贴到SSMS并单击执行来执行此脚本,则会出现相同的错误。

AFAIK您需要打开命令窗口并运行它。

答案 1 :(得分:2)

如果您有权访问xp_cmdshell,则可以从

中调用bcp
exec xp_cmdshell 'BCP "select * from PACIFIC.dbo.CEOExtractCorpRulesView with(nolock) " 
   queryout "d:\temp\CEOExtractCorpRulesView.txt" 
   -S"tcp:BCBWEC-VIRTD2\SQL2005" -c -t"|!" -U"userid" -P"password" '

注意:我没有检查上面是否有正确的角色逃脱......这是一种痛苦。

否则,您必须从命令行运行bcp。这是一个命令行工具。 T-SQL解释器一无所知。

答案 2 :(得分:1)

同意马丁。 BCP用于C提示符,不适用于SQL Server Management Studio。要在SSMS中运行它,您需要使用xp_cmdshell(并以具有获取xp_cmdshell权限的用户身份登录)。

答案 3 :(得分:0)

这看起来像命令行语法。我不认为它在SSMS中有效。

答案 4 :(得分:0)

在命令提示符下使用带有unc路径的管理员权限运行BCP似乎可以正常工作