在sqlcmd中使用:connect命令时出现连接错误,但在执行命令行连接时却没有

时间:2009-12-16 19:37:49

标签: sql-server-2005 sqlcmd

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

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

sqlcmd -SSQLSERVERNAME -Q“select test = 1”

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

:connect -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文件

思考?

感谢, 西尔维亚

2 个答案:

答案 0 :(得分:1)

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

:connect "SQLSERVERNAME"

答案 1 :(得分:0)

好的 - 我做错了两件事:

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

sqlcmd -i C:\ junk \ junk.sql

但我必须这样做

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

我没有运行本地默认实例 - 大概如果你有一个本地默认实例正在运行,那就没问题了。

**然后在junk.sql中,您可以执行以下操作

:连接ServerName

请注意,它不是

:connect -SServerName

希望这有帮助!