我可以从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 :登录超时已过期。
答案 0 :(得分:8)
cygwin的bash shell正在使用反斜杠。尝试加倍:
sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS
答案 1 :(得分:0)
您可能必须允许远程连接,并提供完整的服务器名称,即SERVER \ SQLEXPRESS
答案 2 :(得分:0)
如果使用“-Q”开关,也可以将查询/指令传递给db并在shell中接收输出:
sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name