Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fügen Sie schnell 2 Millionen Zeilen in SQL Server ein

  1. Ich denke, es ist besser, die Daten der Textdatei in DataSet

    zu lesen
  2. 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

  1. XML aus Datensatz erstellen
  2. 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.