sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan indsætter du data fra en CSV-fil i SQL Server db-tabel ved hjælp af powershell

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 .




  1. Brug COL_LENGTH() til at få en kolonnes længde i SQL Server

  2. NodeJS/Knex Opretter Json-svar

  3. 4 måder at ændre tidszonen i Oracle

  4. Oracle SQL-forespørgsel for at hente specifik hændelse ved hjælp af specifik tilstand i xpath?