4

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

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

一个测试

(1 行受影响)

F:\Cygnus>

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

来自 Cygwin:

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

HResult 0x35,级别 16,状态 1
命名管道提供程序:无法打开与 SQL Server [53] 的连接。Sqlcmd:错误:Microsoft SQL Native Client:建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此失败可能是由于在默认设置下 SQL Server 不允许远程连接。 Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired。

4

3 回答 3

8

反斜杠被 cygwin 的 bash shell 吃掉了。尝试加倍:

sqlcmd -Q "select 'a test'" -S .\\SQLEXPRESS
于 2008-09-22T22:46:43.170 回答
0

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

于 2008-09-22T00:46:03.890 回答
0

如果您使用“-Q”开关,您还可以将查询/指令传递给 db 并在 shell 中接收输出:

sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name
于 2015-04-21T11:32:51.520 回答