sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man infogar data från en CSV-fil i SQL Server db-tabellen med hjälp av powershell

Det finns två sätt jag skulle närma mig detta:

BCP.exe

SQL Server tillhandahåller kommandoradsverktyget bcp för att massimportera data. Du kan helt enkelt infoga bcp-körningen i ditt Powershell-skript eller fönster för att ladda csv-data.Exempel:

$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","

Använder .NET

Du kan också använda .NET-biblioteken i Powershell, men det här är ett mycket svårare förslag. Skaffa först Out-DataTable och Write-DataTable manus av Chad Miller, som kommer att göra ditt liv mycket, mycket lättare. Sedan kan du göra följande:

$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt

Dessa och andra lösningar finns i detalj i det här blogginlägget .




  1. Kan du inte infoga en ny rad i postgres databastabell?

  2. t-sql-fråga mellan en händelsetabell och ett datumintervall

  3. Hur man effektivt designar MySQL-databas för mitt specifika fall

  4. Förstå kontrollbegränsningar i PostgreSQL