Как вызвать хранимую процедуру с аргументами, используя sqlcmd.exe? - PullRequest
11 голосов
/ 20 июня 2011

Мне нужно вызвать хранимую процедуру и передать аргументы из Powershell.Я думаю, что лучший вариант - использовать sqlcmd.exe, но я не уверен, как передать аргументы хранимому процессу с помощью этого инструмента.

Ответы [ 2 ]

13 голосов
/ 20 июня 2011

sqlcmd.exe поддерживает подстановку переменных и параметры через аргумент /v, см. Использование sqlcmd с переменными сценариев .Например:

sqlcmd -E -d <mydb> -Q "exec usp_myproc @variable=$(myparam)" /v myparam=1

вызовет процедуру передачи значения 1 сценарию, который будет заменен на переменную $(myparam).Обратите внимание, что подстановка переменных sqlcmd - это замена строки $(variable), которая происходит в sqlcmd, прежде чем пакет (запрос) будет отправлен на SQL Server.

2 голосов
/ 09 января 2015

Командлет Invoke-Sqlcmd позволяет запускать файлы сценариев sqlcmd в среде Windows PowerShell.Многое из того, что вы можете сделать с sqlcmd , также можно сделать с помощью Invoke-Sqlcmd .

Пример:

$myparam = "..." Invoke-Sqlcmd -Query "EXEC sp_myproc $myparam" -ServerInstance "MyComputer\MyInstance"

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