-
Jeg tror, det er bedre at læse data fra tekstfil i DataSet
-
Prøv SqlBulkCopy - Bulk Insert i SQL fra 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();
eller
efter at have udført trin 1 øverst
- Opret XML fra datasæt
- Send XML til databasen og foretag masseindsættelse
du kan tjekke denne artikel for detaljer:Masseindsættelse af data ved hjælp af C# DataTable og SQL server OpenXML-funktion
Men den er ikke testet med 2 millioner rekorder, den vil kun bruge hukommelse på maskinen, da du skal indlæse 2 millioner record og indsætte den.