【问题标题】:SQL Server bcp with stored procedure带有存储过程的 SQL Server bcp
【发布时间】:2015-04-14 12:56:48
【问题描述】:

我正在为bcp 苦苦挣扎。如果我运行以下 SQL

exec xp_cmdshell 'bcp "select a.displayname, a.samaccountname, a.mail, a.title, a.givenname, a.sn from web_repository.dbo.activedirectory a ORDER BY displayname" queryout "C:\phonegapdownload\test.dat" -N -S IISSERVER -T '

它工作正常,但是如果我运行它

exec xp_cmdshell 'bcp "EXEC SelectAllFromADNoJoin" queryout "C:\phonegapdownload\test.dat" -N -S IISSERVER -T '

里面有完全相同的SQL,它会抛出一个错误

SQLState = 37000,NativeError = 2812

// 不确定我从哪里得到这个错误

它在 SQL Server 2008 R2 上运行

谁能帮忙?

我已检查 SQL Server 是否允许远程连接并且已启用 tcpip

SQLState = 08001,NativeError = 53
错误 = [Microsoft][SQL Server Native Client 10.0]命名管道提供程序:无法打开与 SQL Server [53] 的连接。
SQLState = 08001,NativeError = 53
错误 = [Microsoft][SQL Server Native Client 10.0]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。
SQLState = S1T00,NativeError = 0
错误 = [Microsoft][SQL Server Native Client 10.0]登录超时已过期

【问题讨论】:

  • 这是两个完全不同的错误。第一个表示找不到存储过程,第二个表示您的服务器无法访问。显然,您需要在修复第一个条件之前修复第二个条件......
  • 是的,您能再试一次并为这两种情况编写确切的控制台输入和输出吗?就目前而言,您的具体情况完全是个谜。

标签: sql-server sql-server-2008-r2 bcp


【解决方案1】:

发布错误消息的全文会有所帮助。错误 2812 是“找不到存储过程”。您将需要指定 -d 选项来指定您的数据库,或使用带引号的名称 (MyDB.dbo.SelectAllFromADNoJoin)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-08
    • 2015-07-03
    • 2020-12-19
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    相关资源
    最近更新 更多