Hallo zusammen,
folgender Programmcode funktioniert bei kleinen Datenmengen prima:
Die Tabelle tblTEST hat aber ca. 560.000 Datensätze und jeder Datensatz soll aktualisiert werden. Bis zum Befehl da.Update(ds, "tblTEST") vergehen ca.12 Sekunden. Der Befehl da.Update(ds, "tblTEST") selbst dauert auf meinem nagelneuen PC (WIN 8.1, 4GB, VB 2010) über 10 Minuten. Breche ich die Funktion nach ca. 1 Minute ab, stehen alle Änderungen wie gewünscht in der Tabelle .
Was mache ich falsch? Gibt es eine Möglichkeit, das Problem zu umgehen?
Danke im voraus für alle Tipps.
Gruß Schorsch
folgender Programmcode funktioniert bei kleinen Datenmengen prima:
Quellcode
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- strCONLOC = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\TEST\TEST.MDB;Jet OLEDB:Database Password=TEST;Jet OLEDB:System Database=C:\TEST\TESTSYS.MDW;User ID=TEST;Password=TEST"
- Dim conn As New OleDbConnection(strCONLOC)
- Dim da As New OleDbDataAdapter("SELECT * FROM tblTEST", conn)
- Dim ds As New DataSet()
- da.Fill(ds, "tblTEST")
- Dim dt As DataTable = ds.Tables("tblTEST")
- For Each cRow As DataRow In dt.Rows
- cRow("EXPORTIERT") = True
- Next
- Dim cmd As New OleDbCommand("UPDATE tblTEST SET EXPORTIERT = ?", conn)
- cmd.Parameters.Add("@P1", OleDbType.Boolean, 1, "EXPORTIERT")
- da.UpdateCommand = cmd
- da.Update(ds, "tblTEST")
- End Sub
Die Tabelle tblTEST hat aber ca. 560.000 Datensätze und jeder Datensatz soll aktualisiert werden. Bis zum Befehl da.Update(ds, "tblTEST") vergehen ca.12 Sekunden. Der Befehl da.Update(ds, "tblTEST") selbst dauert auf meinem nagelneuen PC (WIN 8.1, 4GB, VB 2010) über 10 Minuten. Breche ich die Funktion nach ca. 1 Minute ab, stehen alle Änderungen wie gewünscht in der Tabelle .
Was mache ich falsch? Gibt es eine Möglichkeit, das Problem zu umgehen?
Danke im voraus für alle Tipps.
Gruß Schorsch