Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment insérer les données d'un fichier CSV dans la table de base de données SQL Server à l'aide de PowerShell

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 .