vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Re: Datatable in MySQL-DB speichern 
Autor: Chris7483
Datum: 13.01.10 08:13

Ok, das .Fill() und das Kopieren hab ich rausgeschmissen.
Ich dachte, dass ich Daten nur durch ein .Update() speichern kann wenn ich vorher die Daten abrufe.
Aber wenn es auch so geht, soll mir recht sein. Ich hab die Namen der Spalten jetzt bei der Erstellung des DataTable so angeglichen, wie sie in der Tabelle des MySql-Servers stehen. Jetzt funktioniert das Update.
Aber leider nur wenn ich das GetInsertCommand drin lasse. Sonst bekomme ich beim Update den Fehler:

"Aktualisieren erfordert einen gültigen InsertCommand, wenn eine DataRow-Auflistung mit neuen Zeilen weitergegeben wird."

Die Zeit nur für das .Update() ist jetzt von 2 min 15 sek auf 1 min gesunken.
Mir kommt das aber immer noch recht lange vor, oder täusche ich mich da? Das meinte ich mit kein Erfolg. Denn das Update für eine Tabelle mit 250 000 Zeilen dauert ja dann ewig.
(jetzt: Tabelle mit 145 Spalten und 9249 Zeilen)

Mein Code jetzt:

    Sub saveDataToSQL(ByVal dataSource As DataTable, ByVal destTablename As _
      String)
 
        Dim dsData As New DataSet
        Dim tblData As New DataTable
 
        Dim MySqlConnectionString As String = _
          "Server=10.100.201.70;Database=motordata;Uid=testuser;Pwd=testuser;"
        Using MySqlConnection As New MySqlConnection(MySqlConnectionString)
            MySqlConnection.Open()
            Using MySqlTransaction As MySqlTransaction = _
              MySqlConnection.BeginTransaction
                Using MySqlAdapter As New MySqlDataAdapter("SELECT * FROM" & _
                "datatable_" & destTablename, MySqlConnection)
 
                    MySqlAdapter.SelectCommand.Transaction = MySqlTransaction
 
                    Dim MySqlCommandbuilder As New MySqlCommandBuilder( _
                      MySqlAdapter)
                    MySqlCommandbuilder.GetInsertCommand()
 
                    MySqlAdapter.Update(dataSource)
 
                End Using
                MySqlTransaction.Commit()
            End Using
            MySqlConnection.Close()
        End Using
 
    End Sub


Beitrag wurde zuletzt am 13.01.10 um 08:14:53 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datatable in MySQL-DB speichern6.362Chris748312.01.10 11:56
Re: Datatable in MySQL-DB speichern3.741ModeratorFZelle12.01.10 14:35
Re: Datatable in MySQL-DB speichern3.782Chris748312.01.10 15:13
Re: Datatable in MySQL-DB speichern3.733Chris748312.01.10 16:48
Re: Datatable in MySQL-DB speichern3.687ModeratorFZelle12.01.10 19:38
Re: Datatable in MySQL-DB speichern3.666Chris748313.01.10 08:13
Re: Datatable in MySQL-DB speichern3.549ModeratorFZelle13.01.10 09:11
Re: Datatable in MySQL-DB speichern3.546Chris748313.01.10 09:27
Re: Datatable in MySQL-DB speichern3.556ModeratorFZelle13.01.10 14:42
Re: Datatable in MySQL-DB speichern3.557Chris748313.01.10 16:52

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel