>我在一个文件夹的多个文本文件中有 TSQL 插入语句。我需要在 sql 服务器上使用 powershell 中的 foreach 循环运行。它应该转到文件夹中的每个文件 读取查询 执行该查询并再次终止连接 读取下一个文件并执行相同的操作
invoke-sqlcmd -ServerInstance KUMSUSHI7 -Query (Get-Content | For-each "C:DrillTaskSAMS AutomationQuery.txt")
请帮我这个
Invoke-Sqlcmd
可以将脚本文件作为参数,因此不需要-Query
。MSDN上有一个例子:
Invoke-Sqlcmd -InputFile "C:TestSQLCmd.sql" | Out-File -filePath "C:TestSQLCmd.rpt"
因此,获取sql文件的列表并将文件名传递给Invoke-Sqlcmd
,如下所示,
gci "c:somepath*" -include *.sql | % {
Invoke-Sqlcmd -InputFile $_.FullName
}