【发布时间】:2017-02-16 22:38:02
【问题描述】:
我有一个 SQL Server 存储过程,我试图通过 PowerShell 运行它,但多个参数的语法无法正常工作。
存储过程需要 3 个输入参数,但其中任何一个(或全部)都可以有多个值传递给它。我可以很好地传递一个变量,但是当我尝试添加多个值时会出错。
$SqlItems = "Items='0212014080804','0212014080630','0212014080620'"
$SQLLogs = "Lobs=''"
$SQLCodes = "CC=''"
Invoke-Sqlcmd -Query "EXEC proc_BS_Course_Migration @Items=`$(Items), @Lobs=`$(Logs), @CC=`$(CC)" -Variable $SQLItems, $SQLLogs, $SQLCodes
当$SqlItems = "Items='0212014080804'" 上面的代码工作正常。一旦这些变量中的任何一个变长,脚本就会死掉(在 SQL 本身中可以正常工作)
我正在运行 PowerShell 5、SQL Server 2012 以防万一
【问题讨论】:
-
能否为您的存储过程提供参数声明语句?就目前而言,很难确定参数的预期值。
标签: powershell sql-server-2012