sql >> Databasteknik >  >> RDS >> Oracle

Filuppladdningar i en icke-Apex PL/SQL-applikation migrerad till ORDS

ORDS 18.3+ logiken ändrades för att göra det lättare för icke-apex. Här är den nya logiken i ett flödesschema som förhoppningsvis gör det lätt att följa.

I Föregående till 18.3 och nedan ser du hur du gör samma>

Haken är just nu att det finns en hackig lösning för att få det här att fungera och det är att låtsas som att apex är för gammal för att använda den kodsökvägen. ( ja ja jag fixar det här )

Skapa den här vyn i db-användaren som är konfigurerad i anslutningspoolfilen. Koden kontrollerar att om apex 4+ är installerat för att använda det. Den här uppfattningen är hur det kontrolleras så att tvinga ords till att apex är gammal kommer att göra den vanliga DOC-tabellsökvägen att användas.

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

Parametern heter apex.docTable och den kommer standard till "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>

Mitt bord

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

Efter att ha blivit uppringd:

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

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



  1. MySQL - Mac - Fel 2002 - Kan inte ansluta till lokal... via socket

  2. Använd like-satsen med $wpdb->förbered att visa hashs där jokertecken finns

  3. PHP flera MYSQL-kommandon i en mysql_query()-fråga

  4. MySQL SSL-fjärranslutningsfel:Det går inte att hämta privat nyckel