Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como inserir dados de um arquivo CSV na tabela db do SQL Server usando o powershell


Existem duas maneiras pelas quais eu abordaria isso:

BCP.exe

O SQL Server fornece o utilitário de linha de comando bcp para importar dados em massa. Você pode simplesmente incorporar a execução bcp em seu script ou janela do Powershell para carregar os dados csv.Exemplo:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","

Usando .NET

Você também pode usar as bibliotecas .NET no Powershell, mas essa é uma proposta muito mais complicada. Primeiro, obtenha o Out-DataTable e Write-DataTable roteiros de Chad Miller, que tornarão sua vida muito, muito mais fácil. Então você poderia fazer o seguinte:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt

Essas e outras soluções podem ser encontradas em detalhes em esta postagem do blog .