当使用SqlCmd尝试连接到活动服务器时,我发现这些都有效:
:connect myServer\myInstanceName -U myLogin -P myPassword
:setvar INSTANCE myInstanceName
:connect $(INSTANCE) -U myLogin -P myPassword
这不是:
:setvar serv myServer
:setvar inst myInstance
:connect $(serv)\$(inst) -U myLogin -P myPassword
它将此作为语法错误抛出,我怀疑是因为它认为反斜杠是转义字符。
这样做无济于事:
:connect '$(serv)\$(inst)' -U myLogin -P myPassword
这两点都没有:
:connect $(serv)\\\\$(inst) -U myLogin -P myPassword
我无法弄清楚sqlCmd应该如何连接变量,因此我无法将整个事物作为变量传递。如果您尝试设置如下变量:
:setvar serv myServer
:setvar myVariable $(serv)\
然后它将myVariable设置为“$(serv)\”,这不是很多帮助。
有人帮忙吗?
答案 0 :(得分:1)
你能不能使用像
这样的东西:setvar serverandinstance server\instance
:connect $(serverandinstance)
答案 1 :(得分:0)
我发现的最佳解决方案是使用powershell或DOS脚本设置变量。