-
Sync DB2 -> MS SQL 2005
Hallo,
ich suche Produkte welche mir eine One-Way Synchronisation von der DB2 auf MS SQL 2005 bieten.
Danke im voraus
Jürgen
-
Hallo Jürgen,
wenn Du es einmalig haben willst, dann reichen hierfür die Transformation Servives des SQL-Servers aus. Verhält sich aber halt wie ein Windows-Programm. Geht mall, geht mal nicht. Habe ich gerade gestern wieder leidvoll erfahren müssen und 47GB DB/2 Datenbank in einen SQL-Server übertragen.
Es gab mal ein Produkt namens NTCOPY, das gibt es aber nicht mehr, war langsam und auch nicht das stabilste. Wenn Du einen guten (Java?) Programmierer an der Hand hast, der macht das auch. Habe ein Programm für die Anwender geschrieben, mit dem Tabellen von der /400 ausgewählt und dann in einen SQL Server übertragen werden können. Funzt prima. Hierzu werden die Metadaten der DB2 Datenbank ausgelesen und dann dynamisch in die Daten des SQL-Servers umgesetzt.
Karsten
__________________________________
-An eye for an eye leaves the whole world blind- -Mahatma Ghandi-
-
Geh mal auf die Homapage von Dieter Bender.
Der hat dort ein Freeware Java-Programm, dass von jeder SQL-DB in jede SQL-DB kopieren kann.
Läuft wohl auch auf AS/400.
-
Hallo Jürgen,
wenn ein bischen Programmierung angesagt ist,
dann bietet sich dafür auch IBM Visual Age for RPG an.
Ist im Lieferumfang von WDSC/Rational
Damit kann man über ODBC Treiber alle Datenbanken anzapfen.
Gruss
Michael
-
Danke für eure Antworten - ich würde jedoch ein Tool benötigen mit welchem man nur die Änderungen synchronisieren kann -> für eine DWH-Beladung.
Jedes mal die ganze DB zu kopieren ist zu umfangreich.
Ich denke am einfachsten wird es sein wenn ich die Änderungen durch Trigger eruiere.
mfg
Jürgen
-
Hallo Jürgen,
dann ist doch das Tool VARPG genau das richtige dafür.
Über deine Trigger Events bekommst Du alle Änderungen
die in dein DWH geladen werden müssen.
In dem Programm würdest Du einfach mit Read deine
Triggertabellen lesen und über den ODBC Treiber in dein
DWH laden.
gruss
Michael
-
Schreibe per Trigger nur die benötigten Schlüssel in eine 2. Tabelle (per Update und Add).
Per Java-Tool (Bender) machst du dann einen Join und überträgst dann die geänderten Daten.
Anschließend Trigger-Daten löschen.
VARPG ist die schlechteste aller Lösungen, da du zwar ODBC-Zugriffe möglich hast, aber VB/C++ und Java können das allemal besser und effektiver.
-
Hallo Baldur,
klar kann man soetwas mit VB/C++ oder auch Java realisieren,
aber was ist wenn ich (nur) RPG kann ?
Es gibt heutzutage viele Lösungen die zum Ziel führen.
Die Frage ist nur welche wählt man aus.
Gruss
Michael
PS: Ich weiß, ich bin Dir immer noch einen Kaffee schuldig.
-
Hallo,
Trigger zum abzapfen der Änderungen sind da wohl ohne echte Alternative; der weitere Weg hängt primär vom Volumen und den Rahmenbedingungen (Batch, aktuell etc.) ab.
mfg
Dieter Bender
Zitat von Juergen_G
Danke für eure Antworten - ich würde jedoch ein Tool benötigen mit welchem man nur die Änderungen synchronisieren kann -> für eine DWH-Beladung.
Jedes mal die ganze DB zu kopieren ist zu umfangreich.
Ich denke am einfachsten wird es sein wenn ich die Änderungen durch Trigger eruiere.
mfg
Jürgen
-
Synchronsiation DB2->MSSQL
Hallo Jürgen,
wir sind diesbezüglich gerade am Testen von DBMoto.
Die Replizierung wird hier über Journale/Journalreceiver die auf der iSeries liegen gehandelt.
Eine Testversion kann man sich auf der Herstellerseite runterladen.
-
Je nach Anwendung sind Journale sehr aufwändig, da eine Vielzahl von nicht nötigen Änderungen protokolliert werden.
Es gibt da Anwendungen, die häufig Pseudo-Updates durchführen um Sperren zu realisieren.
Also wird da ein einzelnes Feld als Sperrkennzeichen verwendet, so dass z.T. mehrere 1000 Updates pro Tag ohne tatsächliche Änderung der Daten erfolgt.
Trigger können da eher auf tatsächliche und/oder relevante Änderungen prüfen und somit das Datenaufkommen zur Synchronisation erheblich reduzieren.
-
Danke für die zahlreichen Antworten.
Ich habe hier mal eine erste Version eines SQL-Triggers erstellt.
create trigger testUpdate1
after update
on lib/table
referencing new as New
for each row
mode db2row
insert into Lib/table_a (NR, TEXT1, DECIMAL1, trntype)
values (New.Nr, New.Text1, New.Decimal1, 'U')
Die Tabelle table_a hat alle Felder bis auf das zusätzliche Feld trntype - hier möchte ich die insert, update, und delete speichern.
Wie kann man einen Datensatz von einer Quell- in eine Zieltabelle komplett inserten ohne jedes Feld einzeln anzugeben, zusätzlich soll manuell das trntype-Feld gefüllt werden.
Wenn man zusätzlich noch den User und das Datum integrieren kann, hat man mit einfachen Mitteln ein Journal erstellt.
Danke Jürgen
Similar Threads
-
By olafu in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 05-10-06, 08:13
-
By bluesXplosion in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 03-08-06, 09:52
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 17
Letzter Beitrag: 11-05-06, 14:57
-
By reraru in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 20-04-05, 13:07
-
By Salvi in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 21-05-04, 07:44
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks