我有两个数据库服务器:LIVE
和DB
。两者都有SQL Server 2017。
如果我在数据库中打开SMSS,则可以使用SQL Server身份验证登录到LIVE
数据库。
我的目标是从BCP
运行DB
,以从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] [用于SQL Server的ODBC驱动程序13] SQL Server网络接口:
连接字符串无效[87]。
SQLState = 08001,NativeError = 87
错误= [Microsoft] [SQL Server的ODBC驱动程序13]建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及SQL Server是否配置为允许远程连接。有关更多信息,请参见SQL Server联机丛书。SQLState = S1T00,NativeError = 0
错误= [Microsoft] [用于SQL Server的ODBC驱动程序13]登录超时已过期
我想念什么吗?如果在DB
上,我尝试使用SMSS连接到LIVE
,可以,但是bcp导致找不到错误?
谢谢!
答案 0 :(得分:1)
当您在此处尝试连接到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
而不是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