其他的语句没有问题,比如:EXEC SQL SELECT T_NAME FROM TABLE_NAME.....
帮帮忙啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    是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。如我得问题里描述的那样!如何解决啊??????????????????????????
      

  2.   

    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'
      

  3.   


    需要声明 EXEC SQL BEGIN DECLARE SECTION;
    OCIBlobLocator *blob;
    EXEC SQL END DECLARE SECTION;
      

  4.   

    看不懂 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字段里呢??