成功从PowerShell中生成了结果,但不知道如何将其保存到SQL数据库表中……因为我们需要表中的信息以进行进一步操作。
Get-Content "D:\Files\Legal.doc"
| Select-String -Pattern "Currency term loan in an aggregate amount equal to the"
| Select-Object Path, LineNumber, Line
| Export-Csv -Path D:\Results.csv -NoTypeInformation -Encoding ASCII
需要有关在SQL表中保存结果的帮助。
答案 0 :(得分:1)
虽然@postanote的答案有效,但请注意,由于它是连接字符串,因此容易受到SQL注入错误或折衷的影响,并且任何包含'
的值都将破坏它。
我建议使用Out-DbaDataTable
中的Write-DbaDataTable
和dbatools。
$database = 'DBName'
$server = '.'
$table = 'DBTableName'
Import-CSV .\yourcsv.csv | out-dbadatatable | write-dbadatatable -sqlinstance $server -table $table -database $database;
这也应该比单独的INSERT
语句快得多。
答案 1 :(得分:-1)
尝试这种方法...
$database = 'DBName'
$server = '.'
$table = 'DBTableName'
Import-CSV .\yourcsv.csv | ForEach-Object {Invoke-Sqlcmd `
-Database $database -ServerInstance $server `
-Query "insert into $table VALUES ('$($_.Column1)','$($_.Column2)')"
}
...如下所述。
Storing Results from Powershell to SQL Table
How to import data from .csv in SQL Server using PowerShell?
因此,此帖子可以被视为上述内容的重复。