ORA-22927: invalid LOB locator specified
Cause: There are several causes: (1) the LOB locator was never initialized; (2) the locator is for a BFILE and the routine expects a BLOB/CLOB/NCLOB locator; (3) the locator is for a BLOB/CLOB/NCLOB and the routine expects a BFILE locator; (4) trying to update the LOB in a trigger body — LOBs in trigger bodies are read only.
Action: For (1), initialize the LOB locator by selecting into the locator variable or by setting the LOB locator to empty. For (2) and (3), pass the correct type of locator into the routine. For (4), remove the trigger body code that updates the LOB value.
ORA-22927: invalid LOB locator specified,指示给定的LOB定位符无效。此错误可以由两个不同的类别引起:
(1) 具有无效定位符的调用程序:如果给定的LOB定位器标识的内部指针与正在操作的LOB分配的定位器不一致,则会发生此情况。
(2)类型与大小不匹配的备用动作:执行备用动作时提供了另一类LOB。例如,在备用动作中使用BLOB,但在该LOB定位器上提供了CLOB类型的定位器。
一般的原因是sql语句的备用动作类型与要操作的LOB字段的类型不匹配。
1. 检查备用动作LOB字段的类型和大小是否与要操作LOB字段匹配;
2. 检查sql语句中的LOB定位器是否有效且与要操作的LOB字段相匹配。