0

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

ORA-22992: 无法使用从远程表中选择的 LOB 定位器

提前致谢。

4

2 回答 2

3

您没有提供您要执行的语句,但我猜您正在尝试做一些在 Oracle 10g 中根本不可能的事情。

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

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

  1. 创建表作为选择或插入作为选择。

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

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

这些是唯一受支持的涉及远程表中的 LOB 的语法。不支持其他用法。

有关扩展示例,请参阅链接

于 2012-08-03T13:52:13.710 回答
1

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

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

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

于 2013-01-27T13:20:30.350 回答