【问题标题】:Connect to SQL Server from cygwin window times out, from DOS prompt works从 cygwin 窗口连接到 SQL Server 超时,从 DOS 提示符有效
【发布时间】:2008-09-22 00:32:58
【问题描述】:

我可以从 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:错误:Microsoft SQL Native Client : 登录超时。

【问题讨论】:

    标签: sql-server cygwin sqlcmd


    【解决方案1】:

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

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

    【讨论】:

    • 呃。就是这样……离开*nix 太久了。谢谢!
    • 呃,好吧。我花了大约 2 个小时试图确定我的新 SQL-SERVER 2008 R2 EXPRESS 安装出了什么问题,结果发现我的大脑只是在 *nix shell 中以 MS 兼容模式运行。嗬!嗬!嗬!和卫生署! ;-)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      sqlcmd -Q "select * from nice.dbo.TableName ac ORDER BY 1 DESC" -S server_name\\db_name
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-01
        • 2021-02-08
        相关资源
        最近更新 更多