From 45cdb7eb0d2d3f357a27ed69facb79a499e6f1ea Mon Sep 17 00:00:00 2001 From: KammM Date: Fri, 6 Jun 2025 17:23:04 +0200 Subject: [PATCH] Added PowerShell Example for SQL Bulk Insert --- examples/PowerShell/PS_SQL_Bulk_Insert.txt | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 examples/PowerShell/PS_SQL_Bulk_Insert.txt diff --git a/examples/PowerShell/PS_SQL_Bulk_Insert.txt b/examples/PowerShell/PS_SQL_Bulk_Insert.txt new file mode 100644 index 0000000..1030a7b --- /dev/null +++ b/examples/PowerShell/PS_SQL_Bulk_Insert.txt @@ -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() +