Il y a deux façons d'aborder cela :
BCP.exe
SQL Server fournit l'utilitaire de ligne de commande bcp pour importer des données en masse. Vous pouvez simplement incorporer l'exécution bcp dans votre script ou fenêtre Powershell pour charger les données csv.Exemple :
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Utiliser .NET
Vous pouvez également utiliser les bibliothèques .NET dans Powershell, mais c'est une proposition beaucoup plus délicate. Tout d'abord, obtenez le Out-DataTable et Write-DataTable des scripts de Chad Miller, qui vous rendront la vie beaucoup, beaucoup plus facile. Ensuite, vous pouvez faire ce qui suit :
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Ces solutions et d'autres peuvent être trouvées en détail dans cet article de blog .