求教在c语言中。使用oracle的PRO*C,如何操作BLOB字段!..
我在PC文件中,采用
EXEC SQL SELECT....;
EXEC SQL 删除 ...;
等语句能正常编译运行。可是,当操作BLOB字段时,不能使用这些语句。
不知道如何操作BLOB?
搜索到如下语法:
EXEC SQL ALLOCATE :m_blob ;
EXEC SQL SELECT m_pic INTO :m_blob FROM ic_m_pic WHERE GUID = '111' FOR 更新 ;
EXEC SQL LOB WRITE ONE :amt FROM :pdata INTO :m_blob AT :offset ;
EXEC SQL FREE :m_blob ;
可是,这种语法无法编译通过?!
报告如下:
Parser error at line 727, column 29, file service_datatrans.pc:
Error at line 727, column 29 in file service_datatrans.pc
EXEC SQL LOB WRITE ONE :amt FROM :pdata INTO :m_
blob AT :offset ;
............................1
PCC-S-02206, Host variables are not permitted within a DDL statement
Syntax error at line 727, column 14, file service_datatrans.pc:
Error at line 727, column 14 in file service_datatrans.pc
EXEC SQL LOB WRITE ONE :amt FROM :pdata INTO :m_
blob AT :offset ;
.............1
PCC-S-02201, Encountered the symbol "LOB" when expecting one of the following:
for, at, close, commit, connect, declare, describe, 执行,
fetch, open, prepare, rollback, select, whenever, alter,
audit, comment, create, 删除, drop, grant, insert, lock,
noaudit, rename, revoke, set, 更新, validate, arraylen,
allocate, cache, context, enable, free, object, savepoint,
analyze, explain, 无效,
The symbol "alter," was substituted for "LOB" to continue.
如何解决啊?!?!?!?!
或者,如何方便的在pc文件中添加对blob字段操作(保存、删除)的代码啊??
保存c语言中定义的一段buff进去。
大虾们帮帮忙啊◎◎◎