我刚开始使用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文件
思考?
感谢, 西尔维亚
答案 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
希望这有帮助!