新浪博客

ORA-22992:无法使用从远程表选择的LOB定位器解决方案

2019-04-11 15:03阅读:
当Oracle dblink用户需要读取远程数据库含有CLOB字段的表时,会出现如下提示 ORA-22992:无法使用从远程表选择的LOB定位器解决方案
我们可以通过建立全局临时表的方式把数据库里的表内容拷贝到本地数据库中来, 1、建立全局临时表: CREATE GLOBAL TEMPORARY TABLE table_temp AS SELECT * FROM Smartanttz.Pm_Auditrecord_Res_Service@Zzogg WHERE 1=2;
2、建立本地表:
CREATE TABLE wl_history AS SELECT * FROM Smartanttz.Pm_Auditrecord_Res_Service@Zzogg WHERE 1=2;
3、读取远程数据库表内容插入全局临时表:
INSERT INTO Table_Temp
SELECT *
FROM Smartanttz.Pm_Auditrecord_Res_Service@Zzogg
WHERE Spec_Name = '光纤光路'
AND Assemble_Code IN ('F1412030136', 'F1412030133');
这里
不要COMMIT; COMMIT后临时表内容就会消失。
4、把全局临时表内容插入本地表:
INSERT INTO wl_history SELECT * FROM Table_Temp;
这时用 SELECT * FROM wl_history; 就能看到了。
ORA-22992:无法使用从远程表选择的LOB定位器解决方案
当然也可以用以下命令就可以直接显示文本内容了。
SELECT Assemble_Code
,Dbms_Lob.Substr(Audit_Detail_Old)
,Dbms_Lob.Substr(Audit_Detail_New)
,Dbms_Lob.Substr(Text_Route_Old)
,Dbms_Lob.Substr(Text_Route_New)
FROM Wl_History;
ORA-22992:无法使用从远程表选择的LOB定位器解决方案

我的更多文章

下载客户端阅读体验更佳

APP专享