代码之家  ›  专栏  ›  技术社区  ›  arcee123

从远程数据库到本地驱动器的bcp

  •  1
  • arcee123  · 技术社区  · 6 年前

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

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

    我的目标是跑步 BCP 从…起 分贝 询问 居住 归档 分贝 .

    我正在运行的命令是:

    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

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


    我错过什么了吗?如果打开 分贝 ,我尝试连接到 居住 使用SMS是可以的,但是bcp会导致找不到错误吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   marc_s    6 年前

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

    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\MSSQLSERVER

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