PowerShell向SQL脚本传递数组参数时遭遇sqlcmd参数错误的问题求助
PowerShell向SQL脚本传递数组参数时遭遇sqlcmd参数错误的问题求助
各位好,我最近在处理一个数据库批量删除的需求,写了个相对复杂的SQL脚本,打算先把要删除的记录ID存到临时表里再执行后续操作,SQL代码是这样的:
DECLARE @RunIDsToDelete TABLE (RunID INT); INSERT INTO @RunIDsToDelete (RunID) VALUES N'$(runIDs)'
这里的ID列表我希望通过PowerShell脚本作为参数传递进去,同时SQL脚本执行完成后要给PowerShell返回确认信息。我在PowerShell里是这么处理的:
$runIds = @(1, 2) $paramList = $runIds -join "," $sqlCommand = "sqlcmd -S sql1 -d mydb -i $($sqlScriptPath) -v IDs=$paramList"
结果运行后直接报错了,错误信息如下:
sqlcmd : Sqlcmd: ',(2),(4)': Invalid argument. Enter '-?' for help.
- CategoryInfo : NotSpecified: (Sqlcmd: ',(2),(... '-?' for help.:String) [],
RemoteException- FullyQualifiedErrorId : NativeCommandError
实在搞不清问题出在哪,有没有懂的朋友帮忙指点一下?
备注:内容来源于stack exchange,提问作者Enrico
相关产品推荐
相关产品推荐

