[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Feb 2006
    Beiträge
    9

    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

  2. #2
    Registriert seit
    Jul 2005
    Beiträge
    232
    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-

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Jan 2001
    Beiträge
    835
    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

  5. #5
    Registriert seit
    Feb 2006
    Beiträge
    9
    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

  6. #6
    Registriert seit
    Jan 2001
    Beiträge
    835
    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

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Jan 2001
    Beiträge
    835
    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.

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    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 Zitat von Juergen_G Beitrag anzeigen
    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
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Jul 2002
    Beiträge
    27

    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.

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  12. #12
    Registriert seit
    Feb 2006
    Beiträge
    9
    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

  1. MS Access ODBC mit JOIN: SQL FEHLER666
    By olafu in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-10-06, 08:13
  2. Access -> ODBC-> DB2
    By bluesXplosion in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 03-08-06, 09:52
  3. SQL -> CREATE VIEW
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 17
    Letzter Beitrag: 11-05-06, 14:57
  4. MS Sql Server + iSeries -> Verbindungsserver
    By reraru in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 20-04-05, 13:07
  5. MS Access 97 - DB2 Problem
    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
  •