Ich hab's!
Nachdem ich mir die beiden Artikel auf Mario's Link durchgelesen habe, habe ich jetzt die Lösung für das Problem. Nur falls es jemanden interessiert bzw. jemand das gleiche Problem hat hier meine Lösung:
Ich habe nach einer Möglichkeit gesucht mit der ich relativ schnell Datensätze zwischen zwei Tabellen unterschiedlicher Datenbanken kopieren kann. Die Datensatzstruktur beider Tabellen ist gleich.
Komponenten:
1) ADOConnection = Datenbank aus der kopiert werden soll (Source)
2) ADOCommand mit ADOConnection aus 1)
SQL-Statement:
INSERT INTO Kunden IN '\\ckast\exports\KundenDatenbank\kunden.mdb'
SELECT *
FROM Kunden
WHERE NOT EXISTS
(SELECT * FROM Kunden as Source IN '\\ckast\exports\KundenDatenbank\Kunden.mdb'
WHERE Source.Kundennummer = Kunden.Kundennummer)
Auf diese Weise gleiche ich innerhalb von nicht mal einer Sekunde zwei Datenbanken mit zur Zeit ca. 17.000 Datensätze ab! Das geht sogar schneller als mit zwei TTables unter BatchMove!
Ungewöhnlich für mich war hier das IN-Kommando. Wird das Sub-Select-Statement nicht angegeben würde das INSERT INTO - Statement versuchen den gleichen Datensatz nochmal einzufügen was zur Exception führt. In diesem Beispiel ist die Kundennummer der Primärschlüssel
Viele Grüße
Christop
Nachdem ich mir die beiden Artikel auf Mario's Link durchgelesen habe, habe ich jetzt die Lösung für das Problem. Nur falls es jemanden interessiert bzw. jemand das gleiche Problem hat hier meine Lösung:
Ich habe nach einer Möglichkeit gesucht mit der ich relativ schnell Datensätze zwischen zwei Tabellen unterschiedlicher Datenbanken kopieren kann. Die Datensatzstruktur beider Tabellen ist gleich.
Komponenten:
1) ADOConnection = Datenbank aus der kopiert werden soll (Source)
2) ADOCommand mit ADOConnection aus 1)
SQL-Statement:
INSERT INTO Kunden IN '\\ckast\exports\KundenDatenbank\kunden.mdb'
SELECT *
FROM Kunden
WHERE NOT EXISTS
(SELECT * FROM Kunden as Source IN '\\ckast\exports\KundenDatenbank\Kunden.mdb'
WHERE Source.Kundennummer = Kunden.Kundennummer)
Auf diese Weise gleiche ich innerhalb von nicht mal einer Sekunde zwei Datenbanken mit zur Zeit ca. 17.000 Datensätze ab! Das geht sogar schneller als mit zwei TTables unter BatchMove!
Ungewöhnlich für mich war hier das IN-Kommando. Wird das Sub-Select-Statement nicht angegeben würde das INSERT INTO - Statement versuchen den gleichen Datensatz nochmal einzufügen was zur Exception führt. In diesem Beispiel ist die Kundennummer der Primärschlüssel
Viele Grüße
Christop
Comment