Invoke-Sqlcmd: не найден параметр, соответствующий имени параметра «OutputAs» - PullRequest
2 голосов
/ 31 мая 2019

У меня есть скрипт powershell, который будет запускать команду sql и выводить результаты в виде набора данных.

PowerShell:

(Invoke-Sqlcmd -ServerInstance $Server -Database 'STARS' -Username $Username -Password $Password -query $sqlCommand -OutputAs DataSet)

Я получаю следующую ошибку при попытке запустить скрипт.

Invoke-Sqlcmd : A parameter cannot be found that matches parameter name 'OutputAs'.
At D:\PipelinePowerShellScripts\UnitTests\Generate.Auth.Tokens.ps1:163 char:132
+ ... me $Username -Password $Password -query $sqlCommand -OutputAs DataSet ...
+                                                         ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Sqlcmd], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

Версия PowerShell:

Major.Minor.Build.Revision

5.1.14409.1005

Когда я запускаю этот скрипт на локальном компьютере, если он работает без проблем. Однако попытка запустить это на Windows Server 2012 R2 возвращает ошибку выше.

1 Ответ

0 голосов
/ 31 мая 2019

У меня была такая же проблема, потому что модуль был полностью переписан для powershell v5.Вам нужно запустить get-help invoke-sqlcmd -full на этом сервере, чтобы увидеть доступные методы в этой версии.

ЗДЕСЬ - вам лучше объяснить (раздел «два продукта»)

Я думаю, что самым простым способом было бы обновить PowerShell на серверах до 5+ и использовать новый модуль SQL.

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