-
Ich denke, es ist besser, die Daten der Textdatei in DataSet
zu lesen -
Probieren Sie SqlBulkCopy aus - Masseneinfügung in SQL aus der C#-App
// connect to SQL using (SqlConnection connection = new SqlConnection(connString)) { // make sure to enable triggers // more on triggers in next post SqlBulkCopy bulkCopy = new SqlBulkCopy( connection, SqlBulkCopyOptions.TableLock | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.UseInternalTransaction, null ); // set the destination table name bulkCopy.DestinationTableName = this.tableName; connection.Open(); // write the data in the "dataTable" bulkCopy.WriteToServer(dataTable); connection.Close(); } // reset this.dataTable.Clear();
oder
nachdem Sie Schritt 1 oben ausgeführt haben
- XML aus Datensatz erstellen
- XML an die Datenbank übergeben und Masseneinfügung durchführen
Details finden Sie in diesem Artikel:Masseneinfügung von Daten mit C# DataTable und SQL Server OpenXML-Funktion
Aber es wurde nicht mit 2 Millionen Datensätzen getestet, es verbraucht nur Speicherplatz auf dem Computer, da Sie 2 Millionen Datensätze laden und einfügen müssen.