开发者

SqlCmd :connect with variables and backslash

When using SqlCmd to try and connect to an active server I have discovered that these both work:

:connect myServer\myInstanceName -U myLogin -P myPassword

:setvar INSTANCE myInstanceName
:connect $(INSTANCE) -U myLogin -P myPassword

This does not:

:setvar serv myServer
:setvar inst myInstance
:connect $(serv)\$(inst) -U myLogin -P myPassword

It throws this as a syntax error, I suspect because it thinks the back-slash is an escape character.

Doing this doesn't help:

:connect '$(serv)\$(inst)' -U myLogin -P myPassword

And neither does this:

:connect $(serv)\\\\$(inst) -U myLogin -P myPassword

And I can't figure out how sqlCmd is supposed to concatenate variables, so I can't pass the whole thing in as a variable开发者_如何转开发. If you try and set a variable like this:

 :setvar serv myServer
 :setvar myVariable $(serv)\

Then it literally sets myVariable to be "$(serv)\" which isn't a lot of help.

Anyone help?


Can you not use something like

:setvar serverandinstance server\instance
:connect $(serverandinstance)


The best solution I've found to this is to set the variables using powershell or DOS scripts.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜