Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
2016-10-14 16:44
495 查看
介绍
错误异常:[Error] Execution (1: 1): ORA-22992: 无法使用从远程表选择的 LOB 定位器原因:使用dblink从远程数据库向本地数据库 INSERT数据时,因远程表中含有BLOB或者CLOB字段,在SELECT 和 INSERT INTO操作时,报”ORA-22992: 无法使用从远程表选择的 LOB 定位器”错误,通过创建临时表并从临时成功把数据插入到目的表中。
所以一定要注意,所有表中存在blob或clob类型字段,
1.不能用 select * from 连接的表
2.不能将blob或clob类型的字段出现在脚本中
解决方案
①创建临时表:这里临时表的表结构与目标表T_TEST相同,这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据.Create global temporary table table_temp on commit delete rows as select * from T_TEST where 1=2;
需要注意的问题:
on commit delete rows会在commit提交的时候清空临时表数据;
ON COMMIT PRESERVE ROWS则在会话结束的时候清空数据。
②将远程表数据导入临时表
insert into table_temp select * from T_TEST@remote
③将临时表数据导入目标表
insert into T_TEST select * from table_temp
相关文章推荐
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远程表选择的lob定位器”
- ORACLE "ORA--22992:无法使用远程表选择的LOB定位器,database link"
- ORA-22992: 无法使用从远程表选择的 LOB 定位器
- "ORA-22992: 无法使用从远程表选择的 LOB 定位器"解决方法
- 解决oracle dblink中无法使用从远程表选择的lob定位器的问题
- ORA-22992: 无法使用从远程表选择的 LOB 定位器
- ORA-22992: 无法使用从远程表选择的 LOB 定位器
- ORA-22992:没法使用从远程表选择的LOB定位器
- ORA-22992:无法使用从远处表选择LOB定位器
- ORA-22992:没法使用从远程表选择的LOB定位器
- oracle ORA-22992 无法使用从远程表选择的 LOB 定位器
- ORA-22992:无法使用远程表选择的LOB定位符
- oracle通过DBLink访问远程数据库的LOB字段报ORA-22992的解决方法
- oracle通过DBLink访问远程数据库的LOB字段报ORA-22992的解决方法
- oracle ora-22992 通过DBLINK 访问远程CLOB表问题
- ora-22992 通过DBLINK 访问远程CLOB表问题
- ora-22992 通过DBLINK 访问远程CLOB表问题
- ora-22992 通过DBLINK 访问远程CLOB表问题
- 解决ORA-02021: 不允许对远程数据库进行 DDL 操作下面通过DBLINK调用远程过程来执行这样的操作。