Existují dva způsoby, jak bych k tomu přistoupil:
BCP.exe
SQL Server poskytuje nástroj příkazového řádku bcp k hromadnému importu dat. Spuštění bcp můžete jednoduše začlenit do skriptu nebo okna Powershell a načíst data csv. Příklad:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Pomocí .NET
Můžete také použít knihovny .NET v Powershell, ale to je mnohem složitější návrh. Nejprve si stáhněte Out-DataTable a Write-DataTable scénáře Chada Millera, které vám hodně, hodně usnadní život. Potom můžete provést následující:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Tato a další řešení lze podrobně nalézt v tento blogový příspěvek .