Hallo und
Grundsätzlich ist das der richtige Weg: Einlesen in eine DataTable und speichern in der Datenbank. Es gibt freilich keine Automatik, mit der aus einer DataTable-Struktur eine Tabelle in einer Datenbank erstellt werden kann. Du musst manuell aus der DataTable einen
DbCommand mit "CREATE TABLE" und allen dazugehörigen Einzelheiten erstellen und diesen per
DbCommand.ExecuteNonQuery() - also ohne DbDataAdapter - an die Datenbank schicken. Danach kannst Du die Inhalte per
DbDataAdapter.Update() speichern.
Dabei gibt es noch ein
Problem: Die Update-Methode prüft für alle Zeilen der DataTable den
RowState. Es hat aber normalerweise nach dem Einlesen jede Zeile den Status Unchanged; Du benötigst aber überall den Status
Added. IIRC gibt es einen Weg, beim Einlesen (bei Deinem Vorgehen DataTable.Load) den Status zu erhalten, also auf Added zu setzen. Leider weiß ich nicht mehr, wo ich das gelesen habe; ich muss Dich deshalb bitten, selbst nach diesen Stichworten zu suchen.
Viel Erfolg! Jürgen
PS. Bei meinen Hinweisen benutze ich meistens Verweise auf die
Db-Klassen. Dies musst Du immer auf den passen Provider übertragen, also auf
Odbc-Klassen für die Quelldateien und
MySql-Klassen für die Zieldateien.