sql – 在Oracle分布式数据库中处理LOB的最佳方式
发布时间:2020-12-12 08:45:02 所属栏目:MsSql教程 来源:网络整理
导读:如果创建Oracle数据库链接,则无法直接访问目标表中的LOB列. 例如,您创建一个dblink: create database link TEST_LINK connect to TARGETUSER IDENTIFIED BY password using 'DATABASESID'; 之后,你可以做如下事情: select column_a,column_b from data_user
如果创建Oracle数据库链接,则无法直接访问目标表中的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 这是a documented restriction. 同一页面建议您将值提取到本地表中,但这是一种凌乱的方式: CREATE TABLE tmp_hello AS SELECT column_a from data_user.sample_table@TEST_LINK 任何其他想法? 解决方法是的,它是凌乱的,我不能想到一种方法来避免它. 您可以通过将临时表创建放在存储过程中(并使用“立即执行”创建它们表)来隐藏客户端的一些混乱,你需要注意的一件事情是留在临时表上(应该有一些事情在一段时间内无法清理) – 你可以安排一个oracle作业来定期运行和删除任何剩下的表.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |