[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2009
    Beiträge
    131
    Ja, gerne.

    1.) Definieren der XML-CLOB-Datei (Streamfile im IFS), eines XML-CLOB Felds als Host-Variable und des Locators als Zeiger.

    DCL-S IXMLDoc SQLTYPE(XML_CLOB_FILE);
    DCL-S IXMLDta SQLTYPE(XML_CLOB:1024);
    DCL-S IXMLLoc SQLTYPE(XML_LOCATOR);

    2.) Setzen des Zielpfads und des Dateinamens im IFS, durch die CLOB-Datei Definitionsfelder

    DCL-S Xmlpath char(30) inz('/mydir/sql/out/');

    IXMLDoc_Name = %trim(Xmlpath) + %trim(FileGroup) + '_' +
    %trim(FileId) + '.xml';
    IXMLDoc_NL = %Len(%Trim(IXMLDoc_Name));
    IXMLDoc_FO = SQFOVR;

    3.) Bauen des Selektions-Strings in einer Variablen

    sqlstring = 'SELECT XMLDOCUMENT(XMLGROUP(TRIM(Fielda) AS "Host", +
    TRIM(Fieldb) AS "Environ", TRIM(Fieldc) AS "Country" +
    OPTION ROW "Testrow" ROOT "Testroot")) FROM File';

    4.) SQL optionen nach Bedarf setzen

    EXEC SQL
    Set Option Datfmt=*iso, TimFmt=*iso,Naming=*sys,
    CloSQLCsr=*EndActGrp;

    5.) SQL Cursor definieren unter Verwendung der obigen Variablen

    EXEC SQL
    PREPARE selectstm FROM :sqlstring;

    6.) Statisch können dann der SQL DECLARE, OPEN des Cursors, FETCH und SET bleiben.
    EXEC SQL
    DECLARE INXML CURSOR FOR selectstm;
    EXEC SQL
    OPEN INXML;
    EXEC SQL
    FETCH NEXT FROM INXML
    INTO :IXMLLoc;
    EXEC SQL
    SET :IXMLDta = :IXMLLoc;
    EXEC SQL
    SET :IXMLDoc = :IXMLLoc;
    EXEC SQL
    CLOSE INXML;



  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da ein Locator einen SQL-internen Speicherbereich belegt so musst du, wenn du ihn nicht mehr benötigst, mittels "FREE LOCATOR : MyLoc;" auch wieder freigeben.
    Ansonsten läuft dein temporärer Speicher ziemlich voll. Wenn das viele Jobs machen und jeder Job mal so eben 1000de Lobs á 1GB erstellt ist abzusehen, wann deine AS/400 runterfährt.
    Ein Fetch in einen belegten Locator impliziert keine Freigabe.
    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. Clob to Blob
    By dschroeder in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 31-08-16, 15:32
  2. Inhalt CLOB Feld in IFS-Datei
    By alex61 in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 06-07-16, 11:51
  3. Textteil ersetzen in CLOB - Feld
    By alex61 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 09-06-16, 13:26
  4. SQL-Anweisung UPDATE auf CLOB-Spalte mit einer Zeichenfolge >32K
    By Joshua in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 24-11-15, 10:53
  5. Dynamisches SQL bauen in RPG
    By labm in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 07-05-15, 07:55

Tags for this Thread

Berechtigungen

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