0

我正在尝试在 oracle apex 19.1 中显示图像,该图像保存为LONG RAW数据库列中的 a 。

我创建了一个带有新区域的新页面。

这是该地区的select sql查询作为经典报告。

select ID,
       PHOTO
  from MY_TABLE
  where "ID"= '1'

我已将 PHOTO 列的类型更改为显示图像,并在 BLOB Attributes -> BLOB 列中显示为varchar2而不是LONG RAW

当我运行应用程序时,我看到以下错误:

report error:
ORA-00932: inconsistent datatypes: expected CHAR got LONG BINARY
4

1 回答 1

0

哦,亲爱的,请不要再使用数据类型LONG RAWBLOB而是使用。几十年来,它已被弃用。(我相信它仍然存在的唯一原因是 OracleLONG用来存储视图和默认值。)

编辑:

根据文档,迁移LONGLOB实际上非常容易。这是一个最小的例子:

CREATE TABLE t (id NUMBER PRIMARY KEY, x LONG RAW);
INSERT INTO t VALUES (1, RPAD('a', 2000, 'a'));

该表可以迁移到`BLOB:

ALTER TABLE told MODIFY (x BLOB) LOB (x) STORE AS SECUREFILE;
于 2020-05-08T01:39:38.913 回答