我可以从DOS命令窗口通过sqlcmd连接到我的SQL Server数据库,但不能从Cygwin窗口连接到我的SQL Server数据库。来自DOS:

F:\Cygnus>sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS

测试

(受影响的一行)

F:\Cygnus>

=============================================== =====

来自Cygwin:

$ sqlcmd -Q "select 'a test'" -S .\SQLEXPRESS
  

HResult 0x35,Level 16,State 1
命名管道提供者:不能   打开与SQL Server的连接[53]。 Sqlcmd:错误:Microsoft SQL   Native Client:建立连接时发生错误   到服务器。连接到SQL Server 2005时,可能会出现此故障   由SQL Server没有默认设置的事实引起的   允许远程连接.. Sqlcmd:错误:Microsoft SQL Native Client   :登录超时已过期。

有帮助吗?

解决方案

cygwin的bash shell正在使用反斜杠。尝试加倍:

sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS

其他提示

您可能必须允许远程连接,并提供完整的服务器名称,即SERVER \ SQLEXPRESS

如果使用“-Q”,也可以将查询/指令传递给db并在shell中接收输出。切换:

sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top