[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.102

    SQL Zugriff auf 2 Systeme

    Hallo,

    wir haben 2 IBM i Systeme. Ich würde gerne per SQL Daten von dem einen System auf das andere übertragen. Konkret würde ich gerne eine Tabelle auf System 1 lesen und die Daten in eine gleichartige Tabelle auf dem System 2 schreiben.

    Wenn die beiden Tabellen auf einem System in 2 unterschiedlichen Bibliotheken ständen, wäre das ja kein Problem und mit einer SQL-Anweisung machbar. So etwas geht wohl nicht, wenn die beiden Tabellen auf unterschiedlichen Systemen sind, oder? Mit einer DDMF hat es schon mal nicht geklappt.

    Natürlich gibt es Wege, mit denen das geht. Z.B. die Tabelle sichern und auf dem anderen System wieder einspielen. Das hat aber den Nachteil von Sperrungen.
    Oder mit einem RPG-Programm, dass mit SET CONNECTION arbeitet. Dann müsste ich es jedesmal speziell programmieren.

    ich würde das gerne im interaktiven SQL ausführen. Geht das?

    Dieter

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... mit einigen Einschränkungen ist da was machbar. Mit 3 part alias kann man einen remote select per insert into in eine lokale Datei leiten, dabei darf aber der remote select keine direkte Referenz ( in der where clause oder join clause) auf lokale Daten nehmen. Das geht schon seit (gefühlt) 1870 mit qmqry mit Angabe eines lokalen outfiles.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Per WRKRDBDIRE das Zielsystem als Datenbank registrieren.
    Dann kann ein kleines ILERPG per Cursor in eine DS lesen und aus der DS einen Insert machen.
    Der Zugriff besteht dann aus 3 Teilen:

    Entweder: select * from RDBNAME.SCHEMA.TABLE
    oder: insert into RDBNAME.SCHEMA.TABLE values (: Ds)

    Gefühlt mache ich das schon seit R4V5 so.

    Ein "Insert into ... Select from ..." funktioniert nicht über 2 Systeme.

    Übrigens: Ich habe da mal ein kleines JavaCopy geschrieben, dass genau dies macht. Es werden lediglich Quell und Zieltabelle angegeben.
    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
    Feb 2017
    Beiträge
    41
    Schau dir mal DBeaver an, wenn es interaktiv sein soll. Da kannst du das Ergebnis exportieren und als Ziel auch eine andere Datenbankverbindung wählen.

    Gruß,
    Manuel

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ein "Insert into ... Select from ..." funktioniert nicht über 2 Systeme.
    wie wärs mit:

    STRQMQRY OUTPUT(*OUTFILE)
    OUTFILE(MYLIB/MYFILE)
    RDB(MYRDB)

    genau das (und nicht mehr) kann sql seit ein paar releases auch mit three part alias

    INSERT into mylib.myfile
    select ... from myrdb.mylib.myfile

    login daten kann man da auch noch mit addsvraute hinterlegen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Das Problem von QMQRY ist, dass nicht mehr als 255 Spalten unterstützt werden.
    Aber wenn es reicht...
    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

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... die three part alias variante hat diese Einschränkung nicht. Der Punkt ist allerdings bei allen Billigheimer-Varianten, dass das mit constraints schief gehen kann (Satz bereits vorhanden etc. ...)

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Vielen Dank für eure Antworten und Ideen.
    Es ist mir klar, dass es diverse Wege gibt, wenn man Programmierung nutzt. Ich muss ab und zu mal Kleinigkeiten zwischen unserem Testystem und dem Echtsystem hin und her kopieren. Das sind immer sehr individuelle Dinge, die ich am schnellsten im interaktiven SQL (wir nutzen dbVisualizer) machen könnte, wenn man die beiden System so ansprechen könnte, wie man das bei unterschiedlichen Bibliotheken machen würde.

    Ich glaube, die Idee von Dieter Bender geht in die Richtung, die mir vorschwebt. Ich muss da mal etwas forschen, wie kompliziert das ist.

    LG,
    Dieter

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Kompliziert ist das nicht. Es geht da aber nur per QMQRY, da die Ausgabedatei nicht per 1-Schritt-SQL gefüllt wird.
    Du kannst dir dafür auch ein CMD erstellen und den Rest im CLP zusammenstoppeln.
    Da QMQRY einen Parameter bis 54 Zeichen kann, reicht da ein "&P1", bei mehr dann halt "&P1 &P2".
    Immerhin kann man ja nun im CLP auch direkte per RUNSQL dann den "Insert .. Select .." ausführen.
    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

  10. #10
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ach so, ich kann also nicht einfach "etwas" einrichten und dann mit interaktivem SQL (z.B. unser dbVisualizer) per qualifiziertem Namen auf beide Systeme gleichzeitig zugreifen?
    Dann hat sich das für mich erledigt.

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Kompliziert ist das nicht. Es geht da aber nur per QMQRY, da die Ausgabedatei nicht per 1-Schritt-SQL gefüllt wird.
    ... Baldur, zum wiederhoilten Male: das ist Unfug!!!
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von dschroeder Beitrag anzeigen
    Ach so, ich kann also nicht einfach "etwas" einrichten und dann mit interaktivem SQL (z.B. unser dbVisualizer) per qualifiziertem Namen auf beide Systeme gleichzeitig zugreifen?
    Dann hat sich das für mich erledigt.
    ... nochmal zum mitschreiben:

    mit einem SQL Statement kannst Du auch mit STRSQL Daten von einem (in Worten: einem!) remote System selektieren und in einer lokalen Datei per insert oder create Table speichern. Das geht mit allen SQL Frontends der AS/400 (STRSQL, embedded SQL, etc.). Die remote Tabelle(n) wird dabei mit 3-teiligem Namen angesprochen (system.lib.table).
    Damit kann man nur Daten holen und nicht schieben!
    Von einem dritten System aus, sei es eine AS/400, oder ein anderes System, ghet das so nicht, da wären in einem SQL Statement 2 verschiedene Systeme angesprochen, was DB2/400 nicht kann.
    Was mit DB-Fischer (oder wie das heißen mag) geht, hängt von dem Tool ab. Bei SQuirreL und DBeaver, kann man das Ergebnis von einem select einer Verbindung in einer Tabelle einer anderen Verbindung speichern.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Zugriff auf iNet Share - 1. Zugriff schlägt stets fehl
    By fedcba in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 15-10-21, 17:37
  2. PLZ 6: Teamleiter ERP-Systeme (m/w/d) gesucht
    By marco_drost in forum NEWSboard Server Job
    Antworten: 0
    Letzter Beitrag: 06-08-21, 13:06
  3. Systeme + Ersatzteile
    By GAusthoff in forum NEWSboard Server & Hardware Markt
    Antworten: 0
    Letzter Beitrag: 14-02-18, 13:38
  4. Qdls zugriff unter Win7 zugriff verweigert
    By berg01796 in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 15-11-16, 12:55
  5. DATEI-SYSTEME
    By loeweadolf in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 06-10-14, 15:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •