2016-11-17 124 views
0

任何人都知道为什么bcp无法连接到由AWS托管的SQL服务器而SSMS可以的原因? 我有双重检查服务器和用户帐户的详细信息,他们都匹配。bcp无法连接到AWS SQL Server,但SSMS可以

我使用的是通用的命令导入CSV文件:

bcp DB_Name.dbo.Table in "somefile_file.csv" -c -S xxx.rds.amazonaws.com -U username -P xxx -b 1000 

的错误是:

SQLState = 08001, NativeError = 53 
Error = [Microsoft][ODBC Driver 13 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [53]. 
SQLState = 08001, NativeError = 53 
Error = [Microsoft][ODBC Driver 13 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. 
SQLState = S1T00, NativeError = 0 
Error = [Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired 

是使用不同的端口BCP可能?

+0

如果你有一个命名实例,服务器应该被指定为'servername \ instancename'。不知道这是否适用于你的情况,只是一个猜测。 –

回答

0

第一个错误显示bcp使用命名管道协议连接到服务器。显然,这个协议对于网络连接是不可访问的。

在运行bcp的客户端工作站上,检查SQL Server配置管理器并确保在客户端配置列表中启用TCP/IP并优先化。奇怪的是,bcp没有用于协议选择的命令行开关,所以这是我能想到的管理它的唯一方法。

P.S.另一种选择是以ip_address,port_number的形式指定服务器地址,但我认为你不会觉得这个选项特别有吸引力。

+0

在SSMS中,网络协议是默认的。我没有本地的SQL Server。可能是我需要启用信任服务器证书? – chhenning

+0

你应该在这台机器上安装SQL Server客户端工具,否则首先出现'bcp.exe'的方式?不,这看起来不像认证相关的问题。 –

+0

最后得到SQL Server配置管理器运行。顺序是共享内存(1),TCP/IP(2)和命名管道(3)。尽管如此,即使当我禁用命名管道时,也会得到相同的错误消息。 – chhenning