Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So fügen Sie Daten einer CSV-Datei mit Powershell in die SQL Server-Datenbanktabelle ein

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 .