[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2008
    Beiträge
    20

    Question SQl-Server 2005 Funktion mit RPG starten

    Hallo!

    Ich will eine Funktion auf einem SQL-Server 2005 starten und die zurückkommenden Daten in eine Datei in der QTEMP schreiben.
    Was ist denn da wohl die beste Lösung, RPG mit ebbeded JAVA?
    Das Problem ist auch, das ich mich mit JAVA auf der iSeries nicht wirklich gut auskenne.

    Danke im voraus
    Henning

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Ich gehe da einen anderen Weg:

    - Lokale Kopie der Datei auf der AS/400
    - Transfer der Datei mit Dieter Bender's Transferprogramm

    Inzwischen hat Dieter auch eine modernere Lösung zur Verfügung.
    Snippets
    und da
    "Datenübertragung mit Java zwischen beliebigen Datenbanken"
    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

  3. #3
    Registriert seit
    Jul 2008
    Beiträge
    20
    Erstmal danke für die Antwort!

    Eine Kopie der Datenbank ist nicht sinnvoll, da der SQL-Server die Datenbank unseres Datawarehouses (BI-System) ist. Vorher lief dieses auf der AS. Jetzt gibt es aber noch Programme, die auch weiter auf der AS laufen sollen(Warenwirtschaftssystem) , aber die Daten von dem SQL-Server holen sollen.
    Deshalb muss ich es irgendwie schaffen, eine Verbindung mit dem SQL Server zu erstellen und die ermittelten Daten in eine bestimmte QTEMP Datei zu schreiben.
    Auf dem SQL Server wird eine Prozedur aufgerufen, welche mir ein Recordset zurückgibt.

    Mit freundlichem Gruß
    Henning

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann hilft dir wahrscheinlich nur folgender Link (bevor du alles selber entwickelst):
    Application Server für RPG
    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

  5. #5
    Registriert seit
    Jul 2008
    Beiträge
    20
    Kann ich bei diesem Beispielcode (unten nicht als Submitjob) einen String mitgeben, und ein Resultset zurückbekommen?

    PGM
    DCL &CMD *CHAR (256)
    CHGVAR &CMD ( +
    'java -classpath ' !! +
    /* Beispiel Applikationsverzeichnis */+
    '/home/bender/java:' !! +
    /* hier ist meist der native Treiber */+
    '/QIBM/ProdData/OS400/java400/ext/db2_classes.jar:' !! +
    /* hier ist meist der Toolbox Treiber */+
    '/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar' !! +
    /* qualifizierter Name der main Klasse */+
    /* de/bender_dv/transfer/TransferData,class */+
    /* muss im Classpath liegen */+
    ' de.bender_dv.transfer.TransferData ' !! +
    /* properties als Parameter */+
    'ConnectFrom ConnectTo' +
    )
    SBMJOB CMD( +
    QSH CMD( +
    &CMD +
    ) +
    ) +
    JOB(TRANSFER)
    ENDPGM

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Per SBMJOB funktioniert das ganze überhaupt nicht da du quer über Jobs nichts zurückgeben kannst.
    Was du benötigst ist tatsächlich ein Batchjob, der dir z.B. über eine DTAQ die Daten übergibt. Mit QTEMP geht das so auch leider nicht.

    TransferData von Dieter hat noch den Nachteil, dass immer erst die Verbindung aufgebaut, die Daten kopiert und die Verbindung wieder getrennt wird.
    Antwortzeiten kannst du da vergessen.

    Versuch das Application-Server-Projekt (dazu kann ich allerdings nichts sagen, ggf. kann Dieter dir weiterhelfen).
    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
    Jul 2008
    Beiträge
    20
    Die "Arbeit" macht ja der SQL-Server!
    Es kommen so ca. 20 000 Sätze von der Prozedur zurück.
    Das Java Programm, welches die Prozedur aufruft und die Daten in einem Recordset zurückbekommt funktioniert ja auch so weit auf meiner PC Entwicklungsumgebung.
    Das Problem ist nur, das ich das Programm mit dem SQL String als Parameter von RPG aufrufen müsste und das Recordset ins RPG zurückbekommen will, um in die QTEMP zu schreiben.

    Gruß
    Henning

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann ruf das Java direkt auf, erstelle die Tabelle vorher in deiner QTEMP.
    Wenn der Transfer dann durch ist, müsstest du die Datein in deiner QTEMP haben und mit RPG direkt auslesen können.
    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    von den Java Einsprenkelungen in RPG würde ich eindeutig abraten, das ist technisch hakelig implementiert und die resultierenden Programme sind unwartbar.
    QTEMP geht in jedem Fall schon mal nicht, zumindest, wenn es sich um interaktive Jobs handelt, das ist dann selbst bei Java Aufrufen aus RPG per JNI Unterstützung des RPG Compilers in den Wind geschossen, da der BCI Job eine eigene QTEMP hat.
    Das sieht mir alles vom Aufbau viel zu kompliziert aus, warum nicht Satzweise direkt aus der SQL Server Datei lesen und an den RPG Ham weitergeben, wozu brauchts da die QTEMP?

    D*B

    Zitat Zitat von LindnerSpezial Beitrag anzeigen
    Hallo!

    Ich will eine Funktion auf einem SQL-Server 2005 starten und die zurückkommenden Daten in eine Datei in der QTEMP schreiben.
    Was ist denn da wohl die beste Lösung, RPG mit ebbeded JAVA?
    Das Problem ist auch, das ich mich mit JAVA auf der iSeries nicht wirklich gut auskenne.

    Danke im voraus
    Henning
    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 2008
    Beiträge
    20
    Hallo!

    Der Benutzer soll ein Programm in unserem Warenwirtschaftssystem aufrufen, welches die Daten aus der SQL Server 2005 Datenbank in ein bestimmtes Member in der QTEMP schreibt. Mit der QTEMP ist es möglich, das mehrere Benutzer gleichzeitig diese Abfrage ausführen können.

    Gruß
    Henning

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    wenn dieses mit dem anderen Posting zusammenhängt, dann brauchts keine QTEMP, dann hat man die Daten ja bereits in der UDTF, das dann in die QTEMP zu schreiben und da noch in ein bestimmtes MEMBER, macht die Sache ja noch wackeliger.

    Dieter Bender

    Zitat Zitat von LindnerSpezial Beitrag anzeigen
    Hallo!

    Der Benutzer soll ein Programm in unserem Warenwirtschaftssystem aufrufen, welches die Daten aus der SQL Server 2005 Datenbank in ein bestimmtes Member in der QTEMP schreibt. Mit der QTEMP ist es möglich, das mehrere Benutzer gleichzeitig diese Abfrage ausführen können.

    Gruß
    Henning
    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
    Feb 2001
    Beiträge
    20.695
    Da ist doch Dieters Batch-Projekt geeignet.
    Abruf der Daten über Java und an eine Keyed-DTAQ für den Job senden.
    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

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. AS400 auf SQL Server
    By DEVJO in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 12-10-06, 18:28
  3. embedded SQL in RPG
    By muadeep in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 03-08-06, 13:25
  4. sql funktion
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 01-06-06, 12:16
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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