MYSQL Zeile einer Tabelle mittels VB.net in eine andere Tabelle kopieren

bierber

Grünschnabel
Hallo,

habe grad ein Problem mit MySQL.

Ich muß mehrere Tabellen von einem Server auf einen anderen kopieren. Ziel des ganzen ist es eine Hauptdatenbank zu haben, die alle Daten enthält und mehrere NebenDatenbanken, die nur aktuell notwenidge Daten enthält.

Meine Aufgabe liegt nu darin die Daten vom NebenDB abzuholen und in die HauptDB einzutragen.

Zu diesem Zweck wird VB2005 verwendet.

Habe mir erst überlegt jeden step einzeln auszulesen und diesen dann in die Datenbank zu transferieren. Also hole (spalte1/ Zelle1) aus Neben db und kopiere sie nach Haupt DB ...

Ist aber recht aufwendig. und Zeit intensiv.

Daher stellt sich mir die Frage ob es nicht möglich wäre komplette Zeilen vom Nebenserver auf den Hauptserver zu bekommen.

Die Hardware ist physikalisch begrenzt. Das heißt 4 Rechner mit eigener DB.

Hoffe es ist einigermassen klar was ich will.

MfG

Felix
 

JensG

Erfahrenes Mitglied
Hallo bierber,

mir fehlt gerade die Zeit für ein ausführliches Beispiel aber es gibt da mehrere
Möglichkeiten.

1. Erstelle 1 Dataset für den Hauptrechner und X Datasets für die Nebenrechner mit deinen Tabellen und fülle diese über die Connections und MySQLDataAdapter.
Man kann dann mittels MySQLCommandbuilder oder per Hand die Update und
Insert Commands zuweisen und einzelne Rows aus den Datatables des Datasets der Nebenrechner hinzufügen und Updaten.

2. Lese alle Tabellen in Datatables oder Arrays ein (wichig ist das die Tables
ein timestamp Feld haben und am besten ein GUID als Primärkey... das gilt auch
für den ersten Ansatz) Durchlaufe dann die kompletten Datatables oder Arrays.
Wenn der Primärindex noch nicht vorhanden ist setze ein Insert (ganze Zeile) ab, wenn
er vorhanden ist dann prüfe das Timestamp Feld und führe wenn nötig ein Update
command aus. Benutze dazu MySQLParameter.

Ich habe das schon mal gemacht aber das Projekt ist zu groß um es zu Posten.
Müsste es stark abwandeln.

Gruß
Jens