Hi everyone…
I want to use a BLOB field in Oracle.
However, I can only write the record once and then only read it.
When I try to change it, I get the error “Unsupported File Driver Function.”
Unfortunately, the tracing doesn’t reveal any details.
What am I doing wrong?
I’m using the latest C12 and Oracle 11g.
BCTEST FILE, DRIVER('ORACLE', ''), NAME('BCTEST'), OWNER('****'), PRE(BCTEST), CREATE, THREAD
BField BLOB ! CLOB in oracle
Record RECORD
ID LONG
sName CSTRING(256)
END
END
MAP
BlobTest()
END
CODE
BlobTest()
BlobTest PROCEDURE()
sText CSTRING(50001)
CODE
CREATE(BCTEST)
IF ( ErrorCode() )
MESSAGE(Error() & '|' & FileError())
RETURN
END
sText = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. ' & |
'Lorem Ipsum has been the industry''s standard dummy text ever since the 1500s, ' & |
'when an unknown printer took a galley of type and scrambled it to make a type specimen book. ' & |
'It has survived not only five centuries, but also the leap into electronic typesetting, ' & |
'remaining essentially unchanged. It was popularised in the 1960s with the release of ' & |
'Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing ' & |
'software like Aldus PageMaker including versions of Lorem Ipsum.'
OPEN(BCTEST)
IF ( ErrorCode() )
MESSAGE(Error() & '|' & FileError(), 'OPEN')
RETURN
END
BCTEST:ID = 1
BCTEST:BField{PROP:SIZE} = LEN(sText)
BCTEST:BField[0:LEN(sText)-1] = sText ! it starts at index 0
ADD(BCTEST) ! this works...
IF ( ErrorCode() )
MESSAGE(Error() & '|' & FileError(), 'ADD')
END
SET(BCTEST)
NEXT(BCTEST)
Message(BCTEST:BField[0:BCTEST:BField{PROP:SIZE}])
! Change...
sText = 'change all...'
BCTEST:BField{PROP:SIZE} = 0
BCTEST:BField{PROP:SIZE} = LEN(sText)
BCTEST:BField[0:LEN(sText)-1] = sText ! does not work
!BCTEST:BField{PROP:Value} = sText ! does not work too
PUT(BCTEST) ! this not! unsupported file driver function...
IF ( ErrorCode() )
MESSAGE(Error() & '|' & FileError(), 'PUT')
END
Here is the output from tracing
Version: 12.0.13941
011204H(1) 14:25:47.740 Connecting Return Code: 0 Time Taken:0.08 secs
011204H(1) 14:25:47.813 Parsing T9 Cursor 24283936 : CREATE TABLE BCTEST (ID NUMBER(10,0),SNAME VARCHAR2(255),BFIELD CLOB) Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.813 Executing T9 Cursor 24283936 Return Code: -955 Time Taken:0.00 secs
011204H(1) 14:25:47.814 Parsing T9 Cursor 24283936 : DROP TABLE BCTEST Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.814 Executing T9 Cursor 24283936 Return Code: 0 Modified 0 row Time Taken:0.00 secs
011204H(1) 14:25:47.818 Parsing T9 Cursor 24283936 : CREATE TABLE BCTEST (ID NUMBER(10,0),SNAME VARCHAR2(255),BFIELD CLOB) Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.818 Executing T9 Cursor 24283936 Return Code: 0 Modified 0 row Time Taken:0.00 secs
011204H(1) 14:25:47.820 BCTEST FILE,DRIVER('Oracle'),OWNER(******),NAME('BCTEST'),CREATE,THREAD
011204H(1) 14:25:47.820 BCTEST:BFIELD BLOB
011204H(1) 14:25:47.820 RECORD
011204H(1) 14:25:47.820 BCTEST:ID LONG
011204H(1) 14:25:47.820 BCTEST:SNAME CSTRING(256)
011204H(1) 14:25:47.820 END
011204H(1) 14:25:47.820 END
011204H(1) 14:25:47.820
011204H(1) 14:25:47.820 CREATE(BCTEST:0A6BFACH) Time Taken:0.11 secs
011204H(1) 14:25:47.820 Parsing T9 Cursor 24279760 : SELECT * FROM BCTEST WHERE 0 = 1 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting information for field 1
011204H(1) 14:25:47.820 Executing T9 Cursor 24279760 Return Code: 0 Modified 0 row Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_NAME for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_DATA_TYPE for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_CHARSET_FORM for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting information for field 2 Getting attribute OCI_ATTR_NAME for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_DATA_TYPE for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_CHARSET_FORM for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting information for field 3 Getting attribute OCI_ATTR_NAME for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_DATA_TYPE for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting attribute OCI_ATTR_CHARSET_FORM for Parameter 01727F94H Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.820 Getting information for field 4 Return Code: -24334 Time Taken:0.00 secs
011204H(1) 14:25:47.822 OPEN(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.822 BLOB_SET_PROP(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.822 BLOB_TAKE(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.822 Parsing T9 Cursor 94971468 : INSERT INTO BCTEST (ID,SNAME,BFIELD) VALUES (:ID_,:SNAME_,:BFIELD_) Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Binding :ID_ with value 1 as type INT for T9 Cursor 94971468 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Binding :SNAME_ with value (null) as type VARCHAR(256) for T9 Cursor 94971468 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Allocating LOB :BFIELD_ T9 LOB 24260608 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Allocating temporary LOB for T9 LOB 24260608 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Binding :BFIELD_ with value 577 as type CLOB for T9 LOB 24260608 for T9 Cursor 94971468 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Trimming Blob data T9 LOB 24260608 Writing Blob data T9 LOB 24260608 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.822 Executing T9 Cursor 94971468 Return Code: 0 Modified 1 row Time Taken:0.00 secs
011204H(1) 14:25:47.823 ADD(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.823 BCTEST:BFIELD
011204H(1) 14:25:47.823 BCTEST:ID : 1
011204H(1) 14:25:47.824 BCTEST:SNAME : ''
011204H(1) 14:25:47.824
011204H(1) 14:25:47.824 SETfile(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.824 Parsing T9 Cursor 24540764 : SELECT ID,SNAME,BFIELD FROM BCTEST Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Defining field 1 as type INT T9 Cursor 24540764 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Defining field 2 as type VARCHAR(256) T9 Cursor 24540764 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Allocating LOB :BFIELD_ T9 LOB 24260416 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Allocating temporary LOB for T9 LOB 24260416 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Defining field 3 as type CLOB T9 Cursor 24540764 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Executing T9 Cursor 24540764 Return Code: 0 Modified 0 row Time Taken:0.00 secs
011204H(1) 14:25:47.824 Fetching 1 Record for T9 Cursor 24540764 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 NEXT(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.824 BCTEST:BFIELD
011204H(1) 14:25:47.824 BCTEST:ID : 1
011204H(1) 14:25:47.824 BCTEST:SNAME : ''
011204H(1) 14:25:47.824
011204H(1) 14:25:47.824 Getting Blob Length for T9 LOB 24260416 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 Reading Blob data for T9 LOB 24260416 Return Code: 0 Time Taken:0.00 secs
011204H(1) 14:25:47.824 BLOB_GET_PROP(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:47.824 BLOB_YIELD(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:48.868 BLOB_SET_PROP(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:48.868 BLOB_SET_PROP(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:48.869 BLOB_TAKE(BCTEST:0A6BFACH) Time Taken:0.00 secs
011204H(1) 14:25:48.869 PUT(BCTEST:0A6BFACH) Error: Unsupported File Driver Function Time Taken:0.00 secs
011204H(1) 14:25:48.869 BCTEST:BFIELD
011204H(1) 14:25:48.869 BCTEST:ID : 1
011204H(1) 14:25:48.869 BCTEST:SNAME : ''
011204H(1) 14:25:48.869
011204H(1) 14:25:50.047 DisConnecting Time Taken:0.00 secs