Hallo an alle,
ich habe zwei verschieden Datenbanken (Firebird - Produktiv, mysql - zur Programmierung).
In beiden befindet sich jeweils eine Tabelle (LIEFER - Lieferantendatenbank) der Aufbau ist exakt gleich.Tabelle aus Firebird wird in der Produktivumgebung aktuell gehalten und bekommt laufend Änderungen sowie neue Einträge. Tabelle zwei wurde jetzt syncronisert und kann eigene Einträge bekommen (noch nicht eingebaut).
So nun meine Frage:
Wie bekomme ich es hin, dass in der MySQL Tabelle die Einträge die aus der Firebird stammen aktualisiert werden, ohne das die neu eingefügten in der MySQL Tabelle gelöscht werden aber vorhandene geupdatet.
Das ist mein Versuch
Leider das DGV zeigt den richtigen Inhalt an, aber in die Datenbank wird keiner geschrieben. (Inhalt einfügen kommt später noch)
Grüße und danke Ronin269
ich habe zwei verschieden Datenbanken (Firebird - Produktiv, mysql - zur Programmierung).
In beiden befindet sich jeweils eine Tabelle (LIEFER - Lieferantendatenbank) der Aufbau ist exakt gleich.Tabelle aus Firebird wird in der Produktivumgebung aktuell gehalten und bekommt laufend Änderungen sowie neue Einträge. Tabelle zwei wurde jetzt syncronisert und kann eigene Einträge bekommen (noch nicht eingebaut).
So nun meine Frage:
Wie bekomme ich es hin, dass in der MySQL Tabelle die Einträge die aus der Firebird stammen aktualisiert werden, ohne das die neu eingefügten in der MySQL Tabelle gelöscht werden aber vorhandene geupdatet.
Das ist mein Versuch
VB.NET-Quellcode
- Sub vergleichdb()
- con = Verbindung()
- con.Open()
- Dim sql As String
- sql = "select * from LIEFER"
- Dim dt1 As New DataTable
- Dim da As FbDataAdapter = New FbDataAdapter(sql, con)
- Try
- da.Fill(dt1)
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- con.Close()
- dt1.PrimaryKey = New DataColumn() {dt1.Columns("ADRESSNR")} ' notwendig für MERGE
- conmy = Verbindungmy()
- conmy.Open()
- Dim dt2 As New DataTable
- Dim db As MySqlDataAdapter = New MySqlDataAdapter(sql, conmy)
- Try
- db.Fill(dt2)
- Catch ex1 As Exception
- MsgBox(Ex1.message)
- End Try
- conmy.Close()
- dt2.PrimaryKey = New DataColumn() {dt2.Columns("ADRESSNR")} ' notwendig für MERGE
- dt2.Merge(dt1)
- Form3.dgv2.DataSource = dt2
- 'Form3.dgv2.DataMember = "Liefer2"
- Form3.Show()
- conmy.Open()
- db.Update(dt2)
- conmy.Close()
- MessageBox.Show("Sollte erledigt sein!")
- End Sub
Leider das DGV zeigt den richtigen Inhalt an, aber in die Datenbank wird keiner geschrieben. (Inhalt einfügen kommt später noch)
Grüße und danke Ronin269