[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    1.973

    Artgate im SQLRPGLE Pgm

    Hall *all,
    ich brauch doch noch mal Artgate hilfe.

    interaktiv / strsql klappt alles

    mein ablauf

    SQLRPGLE-PGM a, ACTGRP A holt mit
    EXEX SQL SET :cnt = (select ...)

    einen Wert
    ist der Wert <> 0, ruft es SQLRPGLE-PGM B, ACTGRP B

    Das B pgm macht
    (qcmdexc)
    sbmjob call javagate nach qinter
    delay 5 sekunden

    SQL
    set option commit=*CS, Naming=*SQL
    connect to externeDB
    set :wert = (select wert from externeDB.dbo.... where Feld=:wert2)

    dann
    SQL
    release externeDB und commit

    Das Joblog sagt:
    Code:
                                          Nachricht . . . :   Job 595074/QPGMR4/JAVAGATE an Jobwarteschlange QINTER in                  
                                            Bibliothek QGPL übergeben.                                                                  
     CPC9801    Beendigung              00   19.03.20  14:17:34,784158  QMHQCRTQ     QSYS        0902     QC2SYS      QSYS        *STMT 
                                          Zielmodul . . . . . . . . . :   QC2SYS                                                        
                                          Zielprozedur  . . . . . . . :   system                                                        
                                          Anweisung . . . . . . . . . :   13                                                            
                                          Nachricht . . . :   Objekt R595072 der Art *DTAQ in Bibliothek JVAGATE                        
                                            erstellt.                                                                                   
     *NONE      Beendigung                   19.03.20  14:17:36,911813  JDBCGATE     JVAGATE     *STMT    QRWSARDB    QSYS        *STMT 
                                          Ausgangsmodul . . . . . . . :   JDBCGATE                                                      
                                          Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                     
                                          Anweisung . . . . . . . . . :   438                                                           
                                          Zielmodul . . . . . . . . . :   QRWSARDB                                                      
                                          Zielprozedur  . . . . . . . :   CALLARD                                                       
                                          Anweisung . . . . . . . . . :   18299                                                         
                                          Nachricht . . . :   JDBCGATE: ACTGRP : 20                                                     
     *NONE      Beendigung                   19.03.20  14:17:36,914055  JDBCGATE     JVAGATE     *STMT    QRWSARDB    QSYS        *STMT 
                                          Ausgangsmodul . . . . . . . :   JDBCGATE                                                      
                                          Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                     
                                         Anweisung . . . . . . . . . :   438                                                          
                                         Zielmodul . . . . . . . . . :   QRWSARDB                                                     
                                         Zielprozedur  . . . . . . . :   CALLARD                                                      
                                         Anweisung . . . . . . . . . :   18299                                                        
                                         Nachricht . . . :   JDBCGATE: SQLCODE: 0 SQLSTATE 00000 EXDB01                              
                                           ActivationGroup: 20                                                                        
    *NONE      Beendigung                   19.03.20  14:17:36,914094  JDBCGATE     JVAGATE     *STMT    QRWSARDB    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   JDBCGATE                                                     
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   438                                                          
                                         Zielmodul . . . . . . . . . :   QRWSARDB                                                     
                                         Zielprozedur  . . . . . . . :   CALLARD                                                      
                                         Anweisung . . . . . . . . . :   18299                                                        
                                         Nachricht . . . :   JDBCGATE:                                                                
    *NONE      Beendigung                   19.03.20  14:18:36,945801  JVAGATE      JVAGATE     *STMT    JDBCGATE    JVAGATE     *STMT
                                         Ausgangsmodul . . . . . . . :   JVAGATE                                                      
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   582                                                          
                                         Zielmodul . . . . . . . . . :   JDBCGATE                                                     
                                         Zielprozedur  . . . . . . . :   WORK                                                         
                                         Anweisung . . . . . . . . . :   320                                                          
                                         Nachricht . . . :   JVAGATE: timeOut                                                         
                                           occurred       Ø       ¹ Ü    °Ø       ¹ Ü    ¦Ø       ¹J Ò  H-Ø       ¹J Ò                
                                              H&Ø                                                                                     
    CPF9898    Abbruch                 40   19.03.20  14:18:36,945826  JVAGATE      JVAGATE     *STMT    JDBCGATE    JVAGATE     *STMT
                                         Ausgangsmodul . . . . . . . :   JVAGATE                                                      
                                         Ausgangsprozedur  . . . . . :   ERROR                                                        
                                         Anweisung . . . . . . . . . :   562                                                          
                                         Zielmodul . . . . . . . . . :   JDBCGATE                                                     
     5770SS1 V7R3M0 160422                           Jobprotokoll                       S4405619  19.03.20  14:22:37 CET    Seite    3
      Jobname  . . . . . . . . . . :   EXTDB_STU       Benutzer  . . . . :   QPGMR4       Nummer . . . . . . . . . . . :   595072     
      Jobbeschreibung  . . . . . . :   BBEE            Bibliothek  . . . :   T1812002                                                 
    NACHR-ID   ART                     BEW  DATUM     ZEIT             VON PGM      BIBLIOTHEK  INST     AN PGM      BIBLIOTHEK  INST 
                                         Zielprozedur  . . . . . . . :   WORK                                                         
                                         Anweisung . . . . . . . . . :   320                                                          
                                         Nachricht . . . :   timeOut occurred:.                                                       
                                         Ursache  . . . . :  Diese Nachricht wird von Anwendungsprogrammen als                        
                                           allgemeine Abbruchnachricht verwendet.                                                     
                                                                                                                            *NONE      Beendigung                   19.03.20  14:18:36,946046  JDBCGATE     JVAGATE     *STMT    QRWSEXEC    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   JDBCGATE                                                     
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   438                                                          
                                         Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                         Zielprozedur  . . . . . . . :   CALLARD                                                      
                                         Anweisung . . . . . . . . . :   19726                                                        
                                         Nachricht . . . :   JDBCGATE: SQLCODE: -913 SQLSTATE 57033 ESOLU01                           
                                           ActivationGroup: 20                                                                        
    *NONE      Beendigung                   19.03.20  14:18:36,946056  JDBCGATE     JVAGATE     *STMT    QRWSEXEC    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   JDBCGATE                                                     
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   438                                                          
                                         Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                         Zielprozedur  . . . . . . . :   CALLARD                                                      
                                         Anweisung . . . . . . . . . :   19726                                                        
                                         Nachricht . . . :   JDBCGATE: timeout ocurred - check Server                                 
    CPD3E06    Diagnose                10   19.03.20  14:18:36,946165  QRWSEXEC     QSYS        *STMT    QRWSEXEC    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   QRWSEXEC                                                     
    
                                         Ausgangsprozedur  . . . . . :   ARD3E06                                                      
                                         Anweisung . . . . . . . . . :   20414                                                        
                                         Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                         Zielprozedur  . . . . . . . :   ARD3E06                                                      
                                         Anweisung . . . . . . . . . :   20414                                                        
                                         Nachricht . . . :   Für das Format ARXD0100 zurückgegebene Daten sind                        
                                           ungültig.                                                                                  
                                         Ursache  . . . . :  Die vom Treiberprogramm der Anwendung zurückgegebenen                    
                                           Daten stimmen nicht mit dem Format überein, das für den Formatnamen ARXD0100               
                                           erforderlich ist. Fehlerbeseitigung:  Gelieferte Daten korrigieren und die                 
                                           Anforderung wiederholen.                                                                   
    SQL0969    Diagnose                30   19.03.20  14:18:36,946248  QSQROUTE     QSYS        *STMT    QSQROUTE    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   QSQROUTE                                                     
                                         Ausgangsprozedur  . . . . . :   NORMEXIT                                                     
                                         Anweisung . . . . . . . . . :   27656                                                        
                                         Zielmodul . . . . . . . . . :   QSQROUTE                                                     
                                         Zielprozedur  . . . . . . . :   NORMEXIT                                                     
                                         Anweisung . . . . . . . . . :   27656                                                        
                                         Nachricht . . . :   Fehler beim Übergeben der Anforderung an das                             
                                           Anwendungs-Requester-Treiberprogramm aufgetreten.                                          
                                         Ursache  . . . . :  Während die SQL-Anforderung an das                                       
                                           Anwendungs-Requester-Treiberprogramm für die relationale Datenbank ESOLU01                 
                                           übergeben wurde, ist ein unerwarteter Fehler aufgetreten. Die zuvor                        
                                           aufgelisteten Nachrichten im Jobprotokoll geben Auskunft über die Ursache                  
                                           des Fehlers. Fehlerbeseitigung:  Alle Fehler korrigieren und die Anforderung               
                                           wiederholen.                                                                               
    *NONE      Beendigung                   19.03.20  14:19:36,979084  JVAGATE      JVAGATE     *STMT    JDBCGATE    JVAGATE     *STMT
                                         Ausgangsmodul . . . . . . . :   JVAGATE                                                      
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   582                                                          
                                         Zielmodul . . . . . . . . . :   JDBCGATE                                                     
                                         Zielprozedur  . . . . . . . :   WORK                                                         
     5770SS1 V7R3M0 160422                           Jobprotokoll                       S4405619  19.03.20  14:22:37 CET    Seite    4
      Jobname  . . . . . . . . . . :   ESOLU_STU       Benutzer  . . . . :   QPGMR4       Nummer . . . . . . . . . . . :   595072     
      Jobbeschreibung  . . . . . . :   BBEE            Bibliothek  . . . :   T1812002                                                 
    NACHR-ID   ART                     BEW  DATUM     ZEIT             VON PGM      BIBLIOTHEK  INST     AN PGM      BIBLIOTHEK  INST 
                                         Anweisung . . . . . . . . . :   320                                                          
                                         Nachricht . . . :   JVAGATE: timeOut                                                         
                                             occurred       Ø       ¹ Ü    °Ø       ¹ Ü    ¦Ø       ¹J Ò  H-Ø       ¹J Ò                
                                               H&Ø                                                                                     
     CPF9898    Abbruch                 40   19.03.20  14:19:36,979111  JVAGATE      JVAGATE     *STMT    JDBCGATE    JVAGATE     *STMT
                                          Ausgangsmodul . . . . . . . :   JVAGATE                                                      
                                          Ausgangsprozedur  . . . . . :   ERROR                                                        
                                          Anweisung . . . . . . . . . :   562                                                          
                                          Zielmodul . . . . . . . . . :   JDBCGATE                                                     
                                          Zielprozedur  . . . . . . . :   WORK                                                         
                                          Anweisung . . . . . . . . . :   320                                                          
                                          Nachricht . . . :   timeOut occurred:.                                                       
                                          Ursache  . . . . :  Diese Nachricht wird von Anwendungsprogrammen als                        
                                            allgemeine Abbruchnachricht verwendet.                                                     
     *NONE      Beendigung                   19.03.20  14:19:36,979275  JDBCGATE     JVAGATE     *STMT    QRWSEXEC    QSYS        *STMT
                                          Ausgangsmodul . . . . . . . :   JDBCGATE                                                     
                                          Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                          Anweisung . . . . . . . . . :   438                                                          
                                          Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                          Zielprozedur  . . . . . . . :   CALLARD                                                      
                                          Anweisung . . . . . . . . . :   19726                                                        
    
                                         Nachricht . . . :   JDBCGATE: SQLCODE: -913 SQLSTATE 57033 EXDB01                           
                                           ActivationGroup: 20                                                                        
    *NONE      Beendigung                   19.03.20  14:19:36,979285  JDBCGATE     JVAGATE     *STMT    QRWSEXEC    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   JDBCGATE                                                     
                                         Ausgangsprozedur  . . . . . :   JOBLOGOUT                                                    
                                         Anweisung . . . . . . . . . :   438                                                          
                                         Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                         Zielprozedur  . . . . . . . :   CALLARD                                                      
                                         Anweisung . . . . . . . . . :   19726                                                        
                                         Nachricht . . . :   JDBCGATE: timeout ocurred - check Server                                 
    CPD3E06    Diagnose                10   19.03.20  14:19:36,979337  QRWSEXEC     QSYS        *STMT    QRWSEXEC    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   QRWSEXEC                                                     
                                         Ausgangsprozedur  . . . . . :   ARD3E06                                                      
                                         Anweisung . . . . . . . . . :   20414                                                        
                                         Zielmodul . . . . . . . . . :   QRWSEXEC                                                     
                                         Zielprozedur  . . . . . . . :   ARD3E06                                                      
                                         Anweisung . . . . . . . . . :   20414                                                        
                                         Nachricht . . . :   Für das Format ARXD0100 zurückgegebene Daten sind                        
                                           ungültig.                                                                                  
                                         Ursache  . . . . :  Die vom Treiberprogramm der Anwendung zurückgegebenen                    
                                           Daten stimmen nicht mit dem Format überein, das für den Formatnamen ARXD0100               
                                           erforderlich ist. Fehlerbeseitigung:  Gelieferte Daten korrigieren und die                 
                                           Anforderung wiederholen.                                                                   
    SQL0969    Diagnose                30   19.03.20  14:19:36,980773  QSQROUTE     QSYS        *STMT    QSQROUTE    QSYS        *STMT
                                         Ausgangsmodul . . . . . . . :   QSQROUTE                                                     
                                         Ausgangsprozedur  . . . . . :   NORMEXIT                                                     
                                         Anweisung . . . . . . . . . :   27656                                                        
                                         Zielmodul . . . . . . . . . :   QSQROUTE                                                     
                                         Zielprozedur  . . . . . . . :   NORMEXIT                                                     
                                         Anweisung . . . . . . . . . :   27656                                                        
                                         Nachricht . . . :   Fehler beim Übergeben der Anforderung an das                             
                                           Anwendungs-Requester-Treiberprogramm aufgetreten.                                          
                                         Ursache  . . . . :  Während die SQL-Anforderung an das                                       
                                           Anwendungs-Requester-Treiberprogramm für die relationale Datenbank EXDB01                 
                                           übergeben wurde, ist ein unerwarteter Fehler aufgetreten. Die zuvor

    Interaktiv mach ich den set commit und das naming *sql nicht, das geschied 'automatisch'

    Was ist falsch

    Danke
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Hallo Robi,

    set ist nicht unterstützt, Select muss mit dynamic SQL (prepare, open fetch) gemacht werden. Am einfachsten nimmst Du eines der Beispiele der Distribution und gehst danach vor (inklusive der Erstellungs commands).
    Anzumerken ist noch, dass der Serverjob besser beim startup der Maschine gestartet wird und dann aktiv bleibt. Der bedient dann alle Anforderungen Multithreaded.

    Dieter
    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
    Wichtig ist, wenn du mit einem zusammengestoppelten SQL arbeitest, trotzdem mit Parametern zu arbeiten.

    MySQL = 'declare GetData cursor for select .... where a=? and b=?';
    exec sql prepare mystmt from : MySQL;
    exec sql open GetData using : P1, : P2;
    exec sql fetch GetData into : F1, : F2, ....
    exec sql close GetData;

    SQL stellt sicher, dass die Variablen konvertiert werden (bzw. Dieter).
    Allerdings muss die SQL-Syntax des Zielservers beachtet werden!
    Dies gilt insbesonders für DateTime-Felder.
    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
    Jun 2001
    Beiträge
    1.973
    SET ist nicht unterstützt ...

    Sch...ade, das wirft das ganze Konzept durcheinander.

    99 % der Informationen bekomme ich via HTTPGETCLOB im JSON Format.
    1% fehlt, dafür gibt es keinen Service.

    Nun lese ich die iSeries Datei und, wenn der Wert fehlt (in 1-n Datensätzen) wollte ich die Info so holen und ergänzen. Auf dem PC weis ich nicht, das mir die Info auf der iSeries fehlt.

    Wo finde ich Beispiele?

    würde das gehen? (ich weis nicht wo der close hingehört bzw ob ich den brauche)
    IMMER:
    set option commit und naming
    connect to
    declare
    prepare
    open
    fetch (genau der eine Satz)
    close
    release
    commit

    oder wo muß der close hin?

    Danke

    @Baldur,

    Danke, gerade erst gesehen, ...
    fetch, close ist also die richtige Reihenfolge, ok Danke
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Ich würde das als Service machen.
    Dabei benötigst du nur einen Connect und Prepare!
    Wenn du dann deinen Service in einer eigenen ACTGRP machst, bist du unabhängig von SQL's der Aufrufer da du diesem durch den Connect die "aktuelle" Datenbank verbiegst.
    Damit beschränkt sich die Wiederholung auf Open/Fetch/Close, was am Ende genauso schnell wie der "set = " ist, da in diesem Fall nämlich dasselbe gemacht wird.
    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

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Beispiel findest Du z.B. hier:
    https://sourceforge.net/p/appserver4...src.testardtyp

    Sieh Dir auch die Objekterstellung an!

    Dieter
    PS: CLOB und BLOB sind nicht unterstützt (das ist eine IBM Einschränkung der ARDPGM Schnittstelle), da kannst Du allenfalls versuchen mit cast nach char dranzukommen.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    @Baldur.
    prinzipiell gebe ich Dir recht.
    Aber für 1-5 Daten alle 14 Tage...
    (daher starte ich den ServerJob auch nur, wenn ich weiß, da ist mal wieder was nicht vollständig gekommen)

    @Dieter
    Bsp sehe ich mir an,
    Clob und Blob brauche ich nicht, die liefern die Services

    Danke
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Übrigens: Ein Release klappt nur, wenn kein offener Commit existiert => Reihenfolge beachten.
    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. ARTGATE und MS-SQL
    By ILEMax in forum IBM i Hauptforum
    Antworten: 15
    Letzter Beitrag: 23-01-20, 16:30
  2. SQLRPGLE XMLELEMENT
    By manuel.marcos in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 26-04-17, 13:10
  3. SQLRPGLE
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 09-06-16, 12:36
  4. SQLRPGLE Get und Set Prozeduren
    By iseries_user in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 11-05-16, 11:13
  5. Compilierung SQLRPGLE
    By B.Hauser in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 01-10-01, 18:31

Berechtigungen

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