ORDS 18.3+ 更改了逻辑以使非顶点更容易。这是流程图中的新逻辑,希望它易于理解。

在 18.3 及以下版本之前,这里是如何完成相同的操作 >
现在的问题是有一个 hacky 解决方法可以让它工作,那就是假装 apex 太旧而无法使用该代码路径。(是的,我会解决这个问题)
在连接池文件中配置的db用户中,创建该视图。该代码检查是否安装了 apex 4+ 以使用它。该视图是如何检查的,因此强制使用旧的东西顶点将使用普通的 'ol DOC 表路径。
create view apex_release as
select '1.0.0.0' VERSION_NO from dual;
url-mapping.xml
<?xml version="1.0" encoding="UTF-8"?>
<pool-config xmlns="http://xmlns.oracle.com/apex/pool-config">
<pool base-path="/klrice" name="klrice" />
</pool-config>
conf/klrice.xml
该参数名为 apex.docTable ,默认为“FLOWS_FILES.WWV_FLOW_FILE_OBJECTS$”
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="db.username">klrice</entry>
<entry key="db.password">klrice</entry>
<entry key="apex.docTable">klrice.MYDOCTABLE</entry>
</properties>
我的桌子
KLRICE@xe >CREATE TABLE MYDOCTABLE (
2 NAME VARCHAR(256) UNIQUE NOT NULL,
3 MIME_TYPE VARCHAR(128),
4 DOC_SIZE NUMBER,
5 DAD_CHARSET VARCHAR(128),
6 LAST_UPDATED DATE,
7 CONTENT_TYPE VARCHAR(128),
8 CONTENT LONG RAW,
9* BLOB_CONTENT BLOB );
被调用后:
1* select BLOB_CONTENT from MYDOCTABLE
KLRICE@xe >/
BLOB_CONTENT
--------------------------------------------------------------------------------
89504E470D0A1A0A0000000D49484452000000C8000000C80806000000AD58AE9E00000001735247