如果创建 Oracle dblink,则无法直接访问目标表中的 LOB 列。
例如,您使用以下命令创建一个 dblink:
create database link TEST_LINK
connect to TARGETUSER IDENTIFIED BY password using 'DATABASESID';
之后你可以做类似的事情:
select column_a, column_b
from data_user.sample_table@TEST_LINK
除非该列是 LOB,否则您会收到错误:
ORA-22992: cannot use LOB locators selected from remote tables
This is 有记录的限制 http://docs.oracle.com/cd/B10501_01/appdev.920/a96591/adl04mng.htm#98328.
同一页面建议您将值提取到本地表中,但这......有点混乱:
CREATE TABLE tmp_hello
AS SELECT column_a
from data_user.sample_table@TEST_LINK
还有其他想法吗?
最佳解决方案是使用如下查询,其中 column_b 是 BLOB:
SELECT (select column_b from sample_table@TEST_LINK) AS column_b FROM DUAL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)