文档解释
ORA-22284: duplicate LONG binds are not supported
Cause: LOB access layer could not handle duplicate LONG binds.
Action: Provide distinct LONG or VARCHAR binds.
ORA-22284表示绑定(Binds)时当绑定的数据类型是long时,不能存在多个LONG绑定。
官方解释
LONG字段的大小不利于执行。在绑定变量的情况下,不能有多个LONG绑定,因此,将错误编号为22284设为ORA-22284“不支持重复LONG绑定”。
常见案例
当程序中声明了一个事务如下:
绑定 LONGB lob_loc => :lob_loc, LONGB lob_loc1 => :lob_loc1
或者:
绑定 LONGB lob_loc => :lob_loc, Long => :lob_loc
就可能发生ORA-22284:duplicate LONG binds are not supported错误。
一般处理方法及步骤
1、检查代码中是否针对LONG字段有重复的绑定。如果发现重复绑定,则需要重新修改代码,移除多余的绑定;
2、LONG字段只能绑定一次,只能把LONG字段绑定到一个变量上;
3、如果必须对LONG字段进行绑定,则应当把LONG字段读入缓冲区,之后再把缓冲区中定义的多个变量进行绑定操作,而不可以将LONG字段绑定到多个变量上。