Added PowerShell Example for SQL Bulk Insert
This commit is contained in:
parent
b7d45f3387
commit
45cdb7eb0d
67
examples/PowerShell/PS_SQL_Bulk_Insert.txt
Normal file
67
examples/PowerShell/PS_SQL_Bulk_Insert.txt
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
'Default','ascii','ansi','bigendianunicode','bigendianutf32','oem','unicode','utf7','utf8','utf8BOM','utf8NoBOM','utf32'
|
||||||
|
|
||||||
|
$ServerName = "DeinServerName"
|
||||||
|
$DatabaseName = "DeineDatenbank"
|
||||||
|
$TableName = "DeineTabelle"
|
||||||
|
$CsvFilePath = "PfadZurCsvDatei"
|
||||||
|
|
||||||
|
# Aufbau der SQL-Verbindung
|
||||||
|
$connectionString = "Server=$ServerName;Database=$DatabaseName;Integrated Security=True;"
|
||||||
|
$connection = New-Object System.Data.SqlClient.SqlConnection
|
||||||
|
$connection.ConnectionString = $connectionString
|
||||||
|
$connection.Open()
|
||||||
|
|
||||||
|
# CSV-Daten lesen
|
||||||
|
$bulkCopy = New-Object ("Data.SqlClient.SqlBulkCopy") $connection
|
||||||
|
$bulkCopy.DestinationTableName = $TableName
|
||||||
|
|
||||||
|
# Spalten zuordnen
|
||||||
|
$bulkCopy.ColumnMappings.Add("Spalte1", "Spalte1")
|
||||||
|
$bulkCopy.ColumnMappings.Add("Spalte2", "Spalte2")
|
||||||
|
# Weitere Spaltenzuordnungen hinzufügen wie benötigt
|
||||||
|
|
||||||
|
# Daten in die Tabelle einfügen
|
||||||
|
$dataTable = New-Object System.Data.DataTable
|
||||||
|
$dataTable.Load((New-Object IO.StreamReader($CsvFilePath)).ReadToEnd().Split("`n"))
|
||||||
|
|
||||||
|
$bulkCopy.WriteToServer($dataTable)
|
||||||
|
$connection.Close()
|
||||||
|
|
||||||
|
|
||||||
|
--------
|
||||||
|
|
||||||
|
$ServerName = "DeinServerName"
|
||||||
|
$DatabaseName = "DeineDatenbank"
|
||||||
|
$TableName = "DeineTabelle"
|
||||||
|
$CsvFilePath = "PfadZurCsvDatei"
|
||||||
|
|
||||||
|
# Aufbau der SQL-Verbindung
|
||||||
|
$connectionString = "Server=$ServerName;Database=$DatabaseName;Integrated Security=True;"
|
||||||
|
$connection = New-Object System.Data.SqlClient.SqlConnection
|
||||||
|
$connection.ConnectionString = $connectionString
|
||||||
|
$connection.Open()
|
||||||
|
|
||||||
|
# CSV-Daten lesen
|
||||||
|
$csvData = Import-Csv $CsvFilePath
|
||||||
|
|
||||||
|
# Vorbereitung der Daten für den Bulk Insert
|
||||||
|
$dataTable = New-Object System.Data.DataTable
|
||||||
|
$csvData[0].PSObject.Properties.Name | ForEach-Object { $dataTable.Columns.Add($_) }
|
||||||
|
$csvData | ForEach-Object {
|
||||||
|
$row = $dataTable.NewRow()
|
||||||
|
$_.PSObject.Properties.Name | ForEach-Object { $row[$_] = $_ }
|
||||||
|
$dataTable.Rows.Add($row)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bulk Insert ausführen
|
||||||
|
$bulkCopy = New-Object Data.SqlClient.SqlBulkCopy($connection)
|
||||||
|
$bulkCopy.DestinationTableName = $TableName
|
||||||
|
|
||||||
|
# Spaltenzuordnungen hinzufügen
|
||||||
|
$dataTable.Columns | ForEach-Object { $bulkCopy.ColumnMappings.Add($_.ColumnName, $_.ColumnName) }
|
||||||
|
|
||||||
|
# Daten in die Tabelle einfügen
|
||||||
|
$bulkCopy.WriteToServer($dataTable)
|
||||||
|
$connection.Close()
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user