hier mal ein Uralt Bsp. aus dem Netz, das wir damals für die ersten Tests verwendet haben
Code:D SQL_FILE_READ... D C CONST(2) D SQL_FILE_CREATE... D C CONST(8) D SQL_FILE_OVERWRITE... D C CONST(16) D SQL_FILE_APPEND... D C CONST(32) D ITEM S 5P 0 D PIC S SQLTYPE(BLOB_FILE) D OUT S SQLTYPE(BLOB_FILE) C/EXEC SQL SET OPTION NAMING=*SYS, C+ COMMIT=*NONE C/END-EXEC * *********************************************************** * CREATE A FILE WITH A BLOB COLUMN *********************************************************** C/EXEC SQL DROP TABLE ITEMPIC C/END-EXEC * *********************************************************** * CREATE A FILE WITH A BLOB COLUMN *********************************************************** C/EXEC SQL C+ CREATE TABLE ITEMPIC C+ (ITEMNO DEC(5 , 0) NOT NULL, C+ PICTURE BLOB(8M) WITH DEFAULT NULL, C+ PRIMARY KEY( ITEMNO ) C+ ) C/END-EXEC * *********************************************************** * WRITE AN ITEM TO THE FILE * * PIC_FO = FILE OPTIONS (SEE SQL CONSTANTS, ABOVE) * PIC_NAME = FILE NAME TO SET BLOB TO * PIC_NL = LENGTH OF FILE NAME * * TEST.JPG WILL BE WRITTEN TO THE 2ND COLUMN OF THE FILE *********************************************************** C EVAL ITEM = 10001 C EVAL PIC_FO = SQL_FILE_READ C EVAL PIC_NAME = '/TMP/TEST.BMP' MIT BMP !!!!! C EVAL PIC_NL = %LEN(%TRIMR(PIC_NAME)) * C/EXEC SQL INSERT INTO ITEMPIC VALUES (:ITEM,:PIC) C/END-EXEC C EVAL ITEM = 10002 C EVAL PIC_FO = SQL_FILE_READ C EVAL PIC_NAME = '/TMP/TEST.PDF' MIT PDF !!!! C EVAL PIC_NL = %LEN(%TRIMR(PIC_NAME)) * C/EXEC SQL INSERT INTO ITEMPIC VALUES (:ITEM,:PIC) C/END-EXEC * *********************************************************** * READ A RECORD * * * OUT_FO = FILE OPTIONS (CREATE FILE OR OVERWRITE IT) *********************************************************** C EVAL ITEM = 10001 C EVAL OUT_FO = SQL_FILE_OVERWRITE C EVAL OUT_NAME = '/TMP/TESTOUT.BMP' C EVAL OUT_NL = %LEN(%TRIMR(OUT_NAME)) C/EXEC SQL SELECT PICTURE C+ INTO :OUT C+ FROM ITEMPIC C+ WHERE ITEMNO = :ITEM C/END-EXEC C EVAL ITEM = 10002 C EVAL OUT_FO = SQL_FILE_OVERWRITE C EVAL OUT_NAME = '/TMP/TESTOUT.PDF' C EVAL OUT_NL = %LEN(%TRIMR(OUT_NAME)) C/EXEC SQL SELECT PICTURE C+ INTO :OUT C+ FROM ITEMPIC C+ WHERE ITEMNO = :ITEM C/END-EXEC C EVAL *INLR= *ON
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks