sql >> Base de Datos >  >> RDS >> Oracle

Cargas de archivos en una aplicación PL/SQL que no es de Apex migrada a ORDS

ORDS 18.3+ la lógica cambió para que sea más fácil para los que no son de Apex. Esta es la nueva lógica en un diagrama de flujo que, con suerte, será fácil de seguir.

En versiones anteriores a 18.3 y anteriores, aquí se explica cómo lograr lo mismo>

El problema ahora es que hay una solución alternativa para hacer que esto funcione y es fingir que Apex es demasiado antiguo para usar esa ruta de código. (sí, sí, arreglaré esto)

En el usuario de la base de datos que está configurado en el archivo del grupo de conexiones, cree esta vista. El código verifica que si apex 4+ está instalado para usarlo. Esta vista es cómo se verifica, por lo que obligar a las órdenes a que el vértice sea antiguo hará que se use la ruta de la tabla DOC simple.

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

El parámetro se llama apex.docTable y esto se predeterminado a "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>

Mi Mesa

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

Después de ser llamado:

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

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