ORDS 18.3+ логиката се промени, за да улесни не-apex. Ето новата логика в блок-схема, надяваме се да я улесни за следване.
В Предишни до 18.3 и по-долу ето как да постигнете същото>
Уловката е точно сега, че има хакерско решение, за да накарате това да работи и то е да се преструвате, че apex е твърде стар, за да използва този кодов път. (да, да, ще поправя това)
В db потребителя, който е конфигуриран във файла на пула за връзки, създайте този изглед. Кодът проверява дали apex 4+ е инсталиран, за да го използва. Този изглед е начинът, по който се проверява, така че принудителното нареждане на нещо, което връх е старо, ще накара да се използва обикновеният път на 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>
Моята маса
[email protected]🍻🍺 >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
[email protected]🍻🍺 >/
BLOB_CONTENT
--------------------------------------------------------------------------------
89504E470D0A1A0A0000000D49484452000000C8000000C80806000000AD58AE9E00000001735247