【问题标题】:bcp command not workingbcp 命令不起作用
【发布时间】:2011-03-18 23:01:47
【问题描述】:

我正在使用以下 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" 

每次都会出错

消息 102,级别 15,状态 1,行 1 “queryout”附近的语法不正确。

请让我知道问题可能是什么。这不是我的脚本。

谢谢

【问题讨论】:

  • 如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器上的“代码示例”按钮 ({ })工具栏以很好地格式化和语法突出显示它!
  • 你是如何运行这个脚本的?在命令提示符下?

标签: sql-server bcp


【解决方案1】:

如果我尝试通过将脚本粘贴到 SSMS 中并单击执行来执行此脚本,我会遇到同样的错误。

AFAIK 你需要打开一个命令窗口并运行它。

【讨论】:

  • @user - 如果你只是打开一个命令提示符(开始 -> 运行 -> cmd)并将其粘贴到它应该可以工作。如果不报告错误。
  • @user387268 - 它给了你什么错误?有很多可能性(bcp 不在您的PATH 中,错误的服务器名称,错误的登录凭据),我无法猜测!
【解决方案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 解释器对此一无所知。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      在我看来,这就像命令行语法。我认为它在 SSMS 中不起作用。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-28
          • 1970-01-01
          • 2023-04-08
          • 2018-11-14
          • 2012-08-27
          相关资源
          最近更新 更多