Er zijn twee manieren waarop ik dit zou kunnen aanpakken:
BCP.exe
SQL Server biedt het opdrachtregelhulpprogramma bcp om gegevens in bulk te importeren. U kunt de bcp-uitvoering eenvoudig in uw Powershell-script of -venster opnemen om de csv-gegevens te laden. Voorbeeld:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
.NET gebruiken
Je zou ook de .NET-bibliotheken in Powershell kunnen gebruiken, maar dit is een veel lastiger voorstel. Download eerst de Out-DataTable en Write-DataTable scripts van Chad Miller, die uw leven veel, veel gemakkelijker zullen maken. Dan zou je het volgende kunnen doen:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Deze en andere oplossingen zijn in detail te vinden in deze blogpost .