Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Carregamentos de arquivos em um aplicativo PL/SQL não Apex migrado para ORDS


ORDS 18.3+ a lógica mudou para facilitar para não-apex. Aqui está a nova lógica em um fluxograma que esperamos torná-lo fácil de seguir.



Em anterior a 18.3 e abaixo, veja como realizar o mesmo>

O problema agora é que há uma solução hacky para fazer isso funcionar e isso é fingir que o apex é muito antigo para usar esse caminho de código. (sim, sim, eu vou consertar isso)

No usuário db que está configurado no arquivo do conjunto de conexões, crie esta visualização. O código verifica se o apex 4+ está instalado para usar isso. Esta visão é como isso é verificado, então forçar os ords para que o apex seja antigo fará com que o caminho simples da tabela DOC seja usado.
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

O parâmetro é denominado apex.docTable e isso vai padrão para "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>

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

Após ser chamado:
  1* select BLOB_CONTENT from MYDOCTABLE
[email protected]🍻🍺 >/

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