我在一个文件夹的多个文本文件中有TSQL插入语句。我需要在Powershell中使用foreach循环在sql服务器上运行。它应该转到文件夹中的每个文件,读取执行查询并再次终止连接,再读取下一个文件,然后执行相同的操作
invoke-sqlcmd -ServerInstance KUMSUSHI7 -Query (Get-Content | For-each "C:\Drill\Task\SAMS Automation\Query.txt")
请帮我
最佳答案
Invoke-Sqlcmd
可以将脚本文件作为参数,因此不需要-Query
。 MSDN上有an example:
Invoke-Sqlcmd -InputFile "C:\TestSQLCmd.sql" | Out-File -filePath "C:\TestSQLCmd.rpt"
因此,获取您的sql文件列表,然后将文件名传递给
Invoke-Sqlcmd
,gci "c:\some\path\*" -include *.sql | % {
Invoke-Sqlcmd -InputFile $_.FullName
}
关于sql - Powershell从txt文件中的查询调用-sqlcmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28958424/