【问题标题】:bcp from remote database to local drivebcp 从远程数据库到本地驱动器
【发布时间】:2019-01-27 21:55:39
【问题描述】:

我有两个数据库服务器:LIVEDB。两者都有 SQL Server 2017。

如果我在 DB 中打开 SMSS,我可以使用 SQL Server 身份验证登录到LIVE 数据库。

我的目标是从DB 运行BCP 以从LIVE 查询到DB 上的文件。

我正在运行的命令是:

BCP "Select * from <<DATABASE.dbo.TABLE>>" queryout "D:\data\test.csv" -t^ -r '0x0A' 
    -U <<USER>> -P <<PASSWORD>> -S "LIVE\MSSQLSERVER" -c -C65001

问题是由于某种原因我没有成功连接:

SQLState = 08001,NativeError = 87
错误 = [Microsoft][ODBC Driver 13 for SQL Server]SQL Server 网络接口:
连接字符串无效 [87]。
SQLState = 08001,NativeError = 87
错误 = [Microsoft][ODBC Driver 13 for SQL Server]在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。

SQLState = S1T00,NativeError = 0
错误 = [Microsoft][ODBC Driver 13 for SQL Server]登录超时已过期

我错过了什么吗?如果在DB 上,我尝试使用 SMSS 连接到LIVE,没问题,但是 bcp 导致未找到错误?

谢谢!

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    我看到您在这里尝试连接到LIVE 时使用MSSQLSERVER 作为实例名称:

    BCP "Select * from <<DATABASE.dbo.TABLE>>" queryout "D:\data\test.csv" -t^ -r '0x0A' 
        -U <<USER>> -P <<PASSWORD>> -S "LIVE\MSSQLSERVER" -c -C65001
                                       ******************  
    

    通常,MSSQLSERVER默认的、未命名的实例的内部“实例”名称,您连接到这样的默认实例而不提供任何实例名称 - 例如只使用LIVE 而不是LIVE\MSSQLSERVER

    试试这个 BCP 命令:

    BCP "Select * from <<DATABASE.dbo.TABLE>>" queryout "D:\data\test.csv" -t^ -r '0x0A' 
        -U <<USER>> -P <<PASSWORD>> -S "LIVE" -c -C65001
    

    【讨论】:

      猜你喜欢
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-08
      • 2011-02-28
      • 2021-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多