68 lines
2.1 KiB
Plaintext
68 lines
2.1 KiB
Plaintext
|
|
'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()
|
|
|