是blob类型。我首先插入empty_blob()。采用 exec sql insert into tablename(colname)values(empty_blob()); 能成功编译,并执行。 可是在我想update时,采用如下方式: EXEC SQL ALLOCATE :blob ; EXEC SQL SELECT colblob INTO :blob FROM tablename WHERE GUID = '111' FOR UPDATE ; EXEC SQL LOB WRITE ONE :amt FROM :pBlob INTO :blob AT :offset ; EXEC SQL FREE :blob ; 时,预编译 报错 第三句 。Encountered the symbol "LOB" when expecting one of the followin。如我得问题里描述的那样!如何解决啊??????????????????????????
EXEC SQL SELECT colblob INTO :blob FROM tablename WHERE GUID = '111' FOR EXEC SQL select dbms_lob.substr(A) INTO :blob from tablename WHERE GUID = '111'
需要声明 EXEC SQL BEGIN DECLARE SECTION; OCIBlobLocator *blob; EXEC SQL END DECLARE SECTION;
看不懂 wxyq2000(wxyq) 的内容呢:) 我通过 EXEC SQL SELECT colblob INTO :blob FROM tablename WHERE GUID = '111' FOR UPDATE ; 将字段 colblob与变量blob关联后,如何将一个char buff[10240]的buff内容存入该字段呢? 文档里写可以这样: amt = 10240 ; offset = 1 ; EXEC SQL LOB WRITE ONE :amt FROM :buff INTO :blob AT :offset ; 可是,这句话在预编译时报错!错误内容如帖主所描述。 我应该如何将buff(大小10240)的内容存储进入colblob字段里呢??
能成功编译,并执行。
可是在我想update时,采用如下方式:
EXEC SQL ALLOCATE :blob ;
EXEC SQL SELECT colblob INTO :blob FROM tablename WHERE GUID = '111' FOR UPDATE ;
EXEC SQL LOB WRITE ONE :amt FROM :pBlob INTO :blob AT :offset ;
EXEC SQL FREE :blob ;
时,预编译 报错 第三句 。Encountered the symbol "LOB" when expecting one of the followin。如我得问题里描述的那样!如何解决啊??????????????????????????
EXEC SQL select dbms_lob.substr(A) INTO :blob from tablename WHERE GUID = '111'
需要声明 EXEC SQL BEGIN DECLARE SECTION;
OCIBlobLocator *blob;
EXEC SQL END DECLARE SECTION;
EXEC SQL SELECT colblob INTO :blob FROM tablename WHERE GUID = '111' FOR UPDATE ;
将字段 colblob与变量blob关联后,如何将一个char buff[10240]的buff内容存入该字段呢?
文档里写可以这样:
amt = 10240 ;
offset = 1 ;
EXEC SQL LOB WRITE ONE :amt FROM :buff INTO :blob AT :offset ;
可是,这句话在预编译时报错!错误内容如帖主所描述。
我应该如何将buff(大小10240)的内容存储进入colblob字段里呢??