Der er to måder, jeg ville gribe dette an på:
BCP.exe
SQL Server leverer kommandolinjeværktøjet bcp at masseimportere data. Du kan ganske enkelt inkorporere bcp-udførelsen i dit Powershell-script eller vindue for at indlæse csv-dataene. Eksempel:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Brug af .NET
Du kan også bruge .NET-bibliotekerne i Powershell, men dette er et meget vanskeligere forslag. Først skal du hente Out-DataTable og Write-DataTable manuskripter af Chad Miller, som vil gøre dit liv meget, meget lettere. Så kan du gøre følgende:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Disse og andre løsninger kan findes i detaljer i dette blogindlæg .