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
Bookmarks