Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Datei-Uploads in einer Nicht-Apex-PL/SQL-Anwendung, die zu ORDS migriert wurde

ORDS 18.3+ hat sich die Logik geändert, um es für Nicht-Apex einfacher zu machen. Hier ist die neue Logik in einem Flussdiagramm, das hoffentlich leicht zu befolgen ist.

In Version 18.3 und darunter erfahren Sie hier, wie Sie dasselbe erreichen>

Der Haken an der Sache ist, dass es jetzt eine hackige Problemumgehung gibt, um dies zum Laufen zu bringen, und das heißt, Apex ist zu alt, um diesen Codepfad zu verwenden. ( ja ja ich werde das beheben )

Erstellen Sie diese Ansicht im db-Benutzer, der in der Verbindungspooldatei konfiguriert ist. Der Code überprüft, ob Apex 4+ installiert ist, um dies zu verwenden. In dieser Ansicht wird dies überprüft, sodass das Erzwingen von Befehlen, dass der Apex alt ist, dazu führt, dass der einfache Pfad der alten DOC-Tabelle verwendet wird.

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

Der Parameter heißt apex.docTable und das wird standardmäßig "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>

Mein Tisch

[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 );

Nach Aufruf:

  1* select BLOB_CONTENT from MYDOCTABLE
[email protected]🍻🍺 >/

BLOB_CONTENT                                                                    
--------------------------------------------------------------------------------
89504E470D0A1A0A0000000D49484452000000C8000000C80806000000AD58AE9E00000001735247