sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo insertar datos de un archivo CSV en la tabla db de SQL Server usando powershell

Hay dos formas en que abordaría esto:

BCP.exe

SQL Server proporciona la utilidad de línea de comandos bcp para importar datos de forma masiva. Simplemente podría incorporar la ejecución de bcp en su script o ventana de Powershell para cargar los datos csv. Ejemplo:

$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","

Uso de .NET

También podría usar las bibliotecas .NET en Powershell, pero esta es una propuesta mucho más complicada. Primero, obtenga Out-DataTable y Write-DataTable guiones de Chad Miller, que te harán la vida mucho, mucho más fácil. Entonces podrías hacer lo siguiente:

$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt

Estas y otras soluciones se pueden encontrar en detalle en esta publicación de blog .