【问题标题】:Getting connectivity error when using :connect command in sqlcmd, but not when doing command line connect在 sqlcmd 中使用 :connect 命令时出现连接错误,但在执行命令行连接时却没有
【发布时间】:2009-12-16 19:37:48
【问题描述】:

我刚开始在 SQL Server 2005 企业版上使用 sqlcmd。

我可以从命令行很好地连接到我的服务器:

sqlcmd -SSQLSERVERNAME -Q"select test=1"

但是,当我创建一个只有这一行的 junk.sql 文件时:

:连接-SSQLSERVERNAME

...并尝试通过在命令行运行以下命令来运行它:

sqlcmd -i C:\junk\junk.sql

...我什至无法连接 - 我收到此错误:

命名管道提供程序:无法打开与 SQL Server [2] 的连接。 Sqlcmd:错误:Microsoft SQL Native Client:建立与服务器的连接时发生错误。当 c 连接到 SQL Server 2005,此故障可能是由于在默认设置下 SQL Server 没有 允许远程连接.. Sqlcmd:错误:Microsoft SQL Native Client:登录超时。

根据我的阅读,我认为使用 connect 命令应该可以工作。我只是使用不正确吗?我想做的是使用 connect 命令连接到 sql 文件(最终使用不同服务器的变量),然后使用 :r 命令运行不同的 sql 文件

想法?

谢谢, 西尔维娅

【问题讨论】:

    标签: sql-server-2005 sqlcmd


    【解决方案1】:

    :connect 命令不需要 -S 开关,使用即可

    :connect "SQLSERVERNAME"
    

    【讨论】:

      【解决方案2】:

      好的 - 我做错了两件事:

      ** 看来,当您运行 sqlcmd 时,您必须从一开始就连接到某些东西。我以为我可以这样做:

      sqlcmd -i C:\junk\junk.sql

      但我必须这样做

      sqlcmd -i -SServerName C:\junk\junk.sql

      我没有运行本地默认实例 - 大概如果您运行的是本地默认实例,则没有问题。

      ** 那么在junk.sql中,可以做如下操作

      :连接服务器名

      注意不是

      :connect -SServerName

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-19
        • 1970-01-01
        • 1970-01-01
        • 2013-01-29
        相关资源
        最近更新 更多