Oracle 8 driver inserting/updating to BLOB or CLOB datatypes
where the data >=4k:
INSERT INTO TESTBLOB (ICOMPONENTID, GIMAGE)
VALUES (:CID, :GIMAGE)
will raise the error:
EDBEngineError with message 'General SQL error.
ORA-22275: invalid LOB locator specified'
This statement with a CLOB type (should use "empty_clob()"):
insert into TESTBLOB (ICOMPONENTID, GIMAGE)
values(:CID, empty_blob() ) returning GIMAGE into :GIMAGE
will raise the error:
EDBEngineError with message 'General SQL error.
ORA-00932: inconsistent datatypes'.
If "oracle8blobs := true" (Delphi 4.x) is not used with the Oracle 8
SQL Links driver (and Oracle 8 srvr)
the error below will be raised with data >=4k :
EDBEngineError with message 'General SQL error.
ORA-0 46 : can bind a LONG value only for insert into a LONG column'.
Information on "oracle8blobs" from the Delphi 4 dbtables.pas:
Global variable for parameter binding to Oracle8 CLOB & BLOB field types.
Set this to True before executing a query on that uses these types.
Assign the data using TParam.AsMemo for CLOB and TParam.AsBlob for BLOB.
Note you cannot mix CLOB/BLOB and RAW/LONG RAW in the same query.
Please refer to your Oracle 8 documentation for information regarding the
use of empty_blob() and empty_clob().
7/ 3/99 0:47:47 AM