
Zitat von
prsbrc
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
Bookmarks