Es gibt zwei Möglichkeiten, wie ich das angehen würde:
BCP.exe
SQL Server stellt das Befehlszeilendienstprogramm bcp bereit zum Massenimport von Daten. Sie könnten die bcp-Ausführung einfach in Ihr Powershell-Skript oder -Fenster integrieren, um die CSV-Daten zu laden. Beispiel:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Mit .NET
Sie könnten auch die .NET-Bibliotheken in Powershell verwenden, aber das ist eine viel kniffligere Angelegenheit. Holen Sie sich zuerst die Out-DataTable und Write-DataTable Skripte von Chad Miller, die Ihr Leben viel, viel einfacher machen werden. Dann könnten Sie Folgendes tun:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Diese und andere Lösungen finden Sie ausführlich in diesen Blogbeitrag .