Има два начина, по които бих подходил към това:
BCP.exe
SQL Server предоставя помощната програма за команден ред bcp за групово импортиране на данни. Можете просто да включите bcp изпълнението във вашия скрипт или прозорец на Powershell, за да заредите csv данните. Пример:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Използване на .NET
Можете също така да използвате .NET библиотеките в Powershell, но това е много по-сложно предложение. Първо вземете Out-DataTable и Write-DataTable сценарии от Чад Милър, които ще направят живота ви много, много по-лесен. Тогава можете да направите следното:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Тези и други решения могат да бъдат намерени подробно в тази публикация в блог .