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