SqlCmd: соединение с переменными и обратная косая черта - PullRequest
2 голосов
/ 14 сентября 2011

При использовании 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

Это вызывает синтаксисошибка, я подозреваю, потому что она думает, что обратная косая черта является escape-символом.

Это не помогает:

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

И это не так:

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

И я не могу понять, как sqlCmd должен объединять переменные, поэтому я не могу передать все это как переменную.Если вы попытаетесь установить переменную следующим образом:

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

Тогда она буквально устанавливает myVariable в значение "$ (serv) \", что не очень помогает.

Любая помощь

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Разве вы не можете использовать что-то вроде

:setvar serverandinstance server\instance
:connect $(serverandinstance)
0 голосов
/ 06 октября 2011

Лучшее решение, которое я нашел для этого, - установить переменные с помощью сценариев powershell или DOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...