我正在通过 访问远程数据库DBLINK
,但是当尝试触发选择查询以获取存储在 BLOB 数据类型中的图像时,它给了我以下错误:
ORA-22992: 无法使用从远程表中选择的 LOB 定位器
提前致谢。
您没有提供您要执行的语句,但我猜您正在尝试做一些在 Oracle 10g 中根本不可能的事情。
http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#sthref161上的文档状态:
Oracle 数据库对远程 LOB 的支持有限。以三种方式支持远程 LOB。
创建表作为选择或插入作为选择。
远程 LOB 上的函数返回标量。支持具有 LOB 参数并返回标量数据类型的 SQL 和 PL/SQL 函数。不支持将其他 SQL 函数和 DBMS_LOB API 用于远程 LOB 列。
远程 LOB 的数据接口。您可以将字符或二进制缓冲区插入到远程 CLOB 或 BLOB,并选择远程 CLOB 或 BLOB 到字符或二进制缓冲区。
这些是唯一受支持的涉及远程表中的 LOB 的语法。不支持其他用法。
有关扩展示例,请参阅链接。
要访问类型BLOB
的数据,请使用PIC
数据类型。像这样构建您的查询:
*select(
**select PIC from AGENT_SIGNATURES_TB@DBLINK**
) as PIC
from dual*
至少这在 Oracle 数据库上对我有用。