SQL:
update table t set t.dlob=empty_blob() returning dblob into :f1<blob> 
我是用流格式输入的,,
但是为什么有的会更新出错,提示ora_22275,说BLOB的定位器无效啊,,,恳求高人解答!

解决方案 »

  1.   

    update table t set t.dlob=empty_blob();
    更新为空的时候,理论上永远都可以成功。
      

  2.   

    t表又这个字段dblob 吗?
    输入的流是不是字节,不要写成字符啊 ,blob接受字节,不接受字符。
      

  3.   

    引起这个错误的原因很多,从以下几个方面检查:
    (1) LOB定位器没有被初始化
    (2)定位器是针对BFILE的,常规定位器是针对BLOB/CLOB/NCLOB的。
    (3)定位器是针对BLOB/CLOB/NCLOB的,而希望是针对BFILE的
    (4)试图在触发器中更新LOB,而触发器中的LOB是只读的。
    (5)定位器是针对BFILE/BLOB的,而希望的是针对CLOB/NCLOB的。
    (6)定位器是针对CLOB/NCLOB的,而希望是针对BFILE/BLOB的。
      

  4.   


    我这个就是BLOB字段的,,,,其中开发应用OTL4来实现连接数据库和做相关操作,因为有成功的也有失败的,,,同样的程序,所以显得好没规律,,,,涉及到用OTL_LOB_STREAM,,,感觉是没有错误的,但是有时候就报这个错了,查了好久也没查出,,痛苦中,,恳求高人见解啊,,