[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.368
    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/

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.703
    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

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    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!)

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

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.368
    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/

  6. #6
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    @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!)

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.703
    Ü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, 15:30
  2. SQLRPGLE XMLELEMENT
    By manuel.marcos in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 26-04-17, 12:10
  3. SQLRPGLE
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 09-06-16, 11:36
  4. SQLRPGLE Get und Set Prozeduren
    By iseries_user in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 11-05-16, 10:13
  5. Compilierung SQLRPGLE
    By B.Hauser in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 01-10-01, 17:31

Berechtigungen

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