-
Ik denk dat het beter is om de gegevens van het tekstbestand in DataSet te lezen
-
Probeer SqlBulkCopy . uit - Bulksgewijs invoegen in SQL vanuit de 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();
of
na het uitvoeren van stap 1 bovenaan
- XML maken van DataSet
- XML doorgeven aan database en bulksgewijs invoegen
u kunt dit artikel raadplegen voor meer informatie:Bulk invoegen van gegevens met behulp van C# DataTable en SQL-server Open XML-functie
Maar het is niet getest met 2 miljoen records, het zal alleen geheugen op de machine verbruiken, omdat u 2 miljoen records moet laden en invoegen.