Когда я пытаюсь использовать командлет Invoke-Sqlcmd из SQL Server 2008 для выполнения запроса, содержащего переменные сценария, например $(MyVar)
, я получаю следующее исключение:
Invoke-Sqlcmd: ссылка на объект не установлена для экземпляра объекта.
Вот код, который я пытаюсь запустить (это копирование / вставка из примера Books Online только с добавленными параметрами соединения).
$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT `$(MyVar1) AS Var1, `$(MyVar2) AS Var2;" -Variable $MyArray -ServerInstance "localhost" -Database "master" -UserName "who" -Password "me"
Если я заменим $(MyVar1)
и $(MyVar2)
в -Query
на 'x'
и 'y'
, тогда он будет работать отлично.
$MyArray = "MyVar1 = 'String1'", "MyVar2 = 'String2'"
Invoke-Sqlcmd -Query "SELECT 'x' AS Var1, 'y' AS Var2;" -Variable $MyArray -ServerInstance "localhost" -Database "master" -UserName "who" -Password "me"
Может кто-нибудь сказать мне, почему это не работает?