[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von prsbrc Beitrag anzeigen
    Hallo Alex.
    Ist schon ne weile her aber ich habe es folgendermaßen gemacht:

    Man braucht im RPGLE folgende Variablen im SQLTYPE:
    Code:
    D xMyNew          S                    SQLTYPE(CLOB_FILE) CCSID(1252)
    D gxMyData        S                    SQLTYPE(CLOB:32766)
    Ins Feld (hier zum Beispiel der Name) gxMyData fetcht man die CLOB-Daten aus der Tabelle und diese schiebst dann ins "xMyNew". Dieser CLOB_FILE erstellt dir dann mit der angegebenen CCSID die Datei mit dem Inhalt.

    Code:
    xMyNew_NAME=/Dateipfad/Name;                
    xMyNew_NL=%Len(%Trim(xMyNew_NAME)); 
    xMyNew_FO=SQFAPP;         //Ersetzen falls bereits vorhanden          
    Exec SQL SET :xMyNew=:gxMyData;
    Ich denke damit kommst schon etwas weiter.
    Man findet aber massig Informationen über SQLTYPE und CLOB_FILE über google.
    Mein Code soll nur ein Wegweiser sein :-)

    PS: Das mit dem "WITH NC" bedeutet nur das SQL ohne Commitment werkeln soll.
    Fast, nur dass die Daten direkt mit SELECT... into ins IFS geschrieben wird.

    Code:
     DCL-S  MyClobFile  SQLTYPE(CLOB_File);
    
     MyClobFile_Name = '/home/Dir1/Dir2/YourFile.yourExt';
     MyClobFle_NL    = %Len(%Trim(MyClobFile_Name));
     MyClobFile_FO   = SQFOVR;
    
     Exec SQL  Select YourClob into :MyClobFile
                 From yourTable
                 Where YourWhereConditions;
    Commitment Control ist nur erforderlich wenn mit LOB-Locators gearbeitet wird. Für File-Reference-Variablen wird Commitment Control nicht benötigt.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Jun 2015
    Beiträge
    365
    Besten Tag an alle ! Ihr habt mir sehr geholfen. Funktioniert einwandfrei.
    Gruss A.

  3. #3
    Registriert seit
    Jun 2015
    Beiträge
    365
    Besten Dank natürlich !!!

  4. #4
    Registriert seit
    Jun 2015
    Beiträge
    365
    Hallo zusammen !
    muss doch nochmals nachhaken. Für eine Abfrage klappt das ja jetzt mit dem Auslesen CLOB in eine IFS-Datei.
    Wenn ich jetzt eine Inputdatei mit etlichen Artikelnummern habe und möchte per ILE Programm zu all diesen Artikeln die CLOB-Texte (aus anderer Tabelle) dazu lesen, wie kann ich dann bewerkstelligen, dass das in dieselbe IFS-Datei wandert und durch den SELECT INTO nicht jeweils eine neue IFS-Datei erstellt wird ?

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Ich glaube nicht, dass das geht. Du musst das bestehende Clob wieder lesen, die Artikelnummer dranhängen und wieder speichern. Effizienter wäre es sicher, erst alle Artikelnummern zum Blob hinzuzufügen und dann das fertige Clob einmalig zu speichern.

Similar Threads

  1. Textteil ersetzen in CLOB - Feld
    By alex61 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 09-06-16, 13:26
  2. MONMSG: Inhalt abfragen
    By JoergHamacher in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 03-02-16, 11:47
  3. 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
  4. Antworten: 1
    Letzter Beitrag: 10-09-15, 17:33
  5. CPYTOIMPF Blank beim Export aber Inhalt von Feld = leer
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 05-06-14, 21:47

Berechtigungen

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