DBLink 中,对于普通字段按常规方法查询即可,但是对于 CLOB 字段的处理相对比较麻烦, CLOB 为大字段,通常 VARCHAR 最大只支持到 4000 字符。在按常规方法查询时会有以下结果: SELECT MODE_CODE,TRANSFORM_CHANGE_CONTENT from TABLE@DBLINK,其中 “TRANSFORM_CHANGE_CONTENT” 为 CLOB 字段,会报 “ORA-22992: cannot...
Note 459557.1 (ORA-1406: FetchedColumn Value was Truncated When Selecting Remote Column into Local BLOBVariable) discusses using a Materialized View in the scenarios where the BLOBwill be larger than 2Meg. Note 119897.1 (ORA-22992 When Trying To SelectLob Columns Over A Database Link) states th...
我通过DBLINK 访问远程数据库表读取数据, 当数据库表中间有clob字段时报ORA-22922的错误, 到网上一查,有解决方法了. 现在说明如下: 1.使用 create global temporary table tb_tmp 在本地创建一个 和远程数据库表结构一样的表. 2.使用insert into tb_tmp select * from tb@远程数据库连接. 这样就可以把远程...
oracle ora-22992 通过DBLINK 访问远程CLOB表问题 我通过DBLINK 访问远程数据库表读取数据, 当数据库表中间有clob字段时报ORA-22922的错误, 到网上一查,有解决方法了. 现在说明如下: 1.使用 create global temporary table tb_tmp 在本地创建一个 和远程数据库表结构一样的表. 2.使用insert into tb_tmp select...
通过临时表从DBLink中获取Blob对象2006-12-05 20:37做系统集成时,通过Database Link共享数据是不错的选择。不过真正使用DBLink时却碰到一个不小的问题:从远程数据库上查询Blob字段时总返回ORA-22992错误,如下: select blobcolumn from remoteTable@dl_remote; ...
不过真正使用DBLink时却碰到一个不小的问题:从远程数据库上查询Blob字段时总返回ORA-22992错误,如下: select blobcolumn from remoteTable@dl_remote; ORA-22992: 无法使用从远程表选择的 LOB 定位器 查找了一下解决方法,有人提出了采用物化视图可以解决这个问题。物化视图唯一的缺陷在于同步机制的问题,如果同步时间...
ORA-22992: 无法使用从远程表选择的 LOB 定位器 目前已知的两种做法: a. 对象表加函数转换 源端 1) 创建OBJECT类型,字段跟原表相同,只是把LOB字段改为Varchar2(4000) 2) 以该类型再创建一个Table类型 3) 创建一个读取转换函数,将原表的数据,插入到Table类型中并返回 以游标循环方式,用dbms_lob.getlength和...
DBLink中,对于CLOB字段的处理需要相对比较特殊些。 不做任务处理,例如执行“SELECT MODE_CODE,TRANSFORM_CHANGE_CONTENT from PROD_INTERRUPTION_MODE@LINK2SERVER516 WHERE ROWNUM<=10”,其中“TRANSFORM_CHANGE_CONTENT”为CLOB字段,则会报“ORA-22992: cannot use LOB locators selected from remote tables”的错误。
那么使用dblink就成为了我们在不同服务器实例中,共享数据很好用的途径。但是在真正使用时,会遇见lob、clob类数据不能够被访问的事情(出现ORA-22992:?无法使用从远程表选择的 LOB 定位器)。 由于dblink在访问时,采用代理访问机制。而此代理访问机制无法操作本地的lob定位器从而导致的此类问题。经常的处理方法与思路,...
“TRANSFORM_CHANGE_CONTENT”为CLOB字段,则会报“ORA-22992: cannot use LOB locators selected from remote tables”的错误。 采纳暂时表方式实现对LOB字段的选用: 创立一个暂时表“create global temporary table TMP_TBL_MODE( MODE_CODE VARCHAR2(16), TRANSFORM_CHANGE_CONTENT CLOB )on commit delete rows;”...