无法从远程数据库中选择图像

时间:2012-08-03 08:49:26

标签: oracle oracle10g

我通过DBLINK访问远程数据库,但是当尝试触发选择查询以获取存储在BLOB数据类型中的图像时,它会出现以下错误:


ORA-22992: cannot use LOB locators selected from remote tables

先谢谢。

2 个答案:

答案 0 :(得分:3)

您没有提供您尝试执行的语句,但我想您正在尝试做一些在Oracle 10g中无法做到的事情。

http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#sthref161州的文档:

  

Oracle数据库对远程LOB的支持有限。远程LOB是   有三种方式支持。

     
      
  1. 将表创建为select或insert as select。

  2.   
  3. 返回标量的远程LOB上的函数。具有LOB参数并返回标量数据类型的SQL和PL / SQL函数是   支持的。不支持其他SQL函数和DBMS_LOB API   与远程LOB列一起使用。

  4.   
  5. 远程LOB的数据接口。您可以将字符或二进制缓冲区插入远程CLOB或BLOB,并选择远程CLOB或   BLOB成为字符或二进制缓冲区。

  6.         

    这是唯一支持远程表中LOB的语法。   没有其他用途支持。

有关扩展示例,请参阅link

答案 1 :(得分:0)

要访问BLOB类型的数据,请使用PIC数据类型。像这样建立您的查询:

*select(
  **select PIC from  AGENT_SIGNATURES_TB@DBLINK**
)  as PIC
from dual*

至少在Oracle数据库中对我有用。