Oracle
 sql >> Database >  >> RDS >> Oracle

problema con apex_application_temp_files

Devi selezionare nella colonna NAME invece di FILENAME . Il primo è l'identificatore univoco (sembra series_of_numbers\the_filename ) ed è ciò che conterrà l'elemento sfoglia file, mentre quest'ultimo è senza il prefisso.

Ascolta, dovrai fornire più informazioni dalla tua parte. Ho creato una pagina davvero semplice per provare questo (apex.oracle.com).

P2_FILE è un elemento di esplorazione dei file.

  • Tipo di archiviazione:tabella APEX_APPLICATION_TEMP_FILES
  • Elimina file a:fine sessione

Ho creato un processo di invio che non fa altro che elencare alcune cose nell'output di debug.

declare
    l_blob blob;
begin 
  for r in (select * from apex_application_temp_files)
  loop
    apex_debug.message('name: %s - filename: %s', r.name, r.filename);
  end loop;

  apex_debug.message('P2_FILE: %s', :P2_FILE);

    SELECT blob_content
      INTO l_blob
      FROM apex_application_temp_files
      WHERE name = :P2_FILE;

  apex_debug.message('blob length: %s', dbms_lob.getlength(l_blob));
end;

Quindi eseguo la pagina, abilito il debug, seleziono un file e premo invia. Tutte le opere. Controlla il registro di debug (accetta):

name: 39044609744029199463/README (2).md - filename: README (2).md
name: 39044529927808550681/README (1).md - filename: README (1).md
name: 39044569042020557797/README.md - filename: README.md
P2_FILE: 39044609744029199463/README (2).md
blob length: 1884

Quindi:cosa c'è di diverso alla tua fine? Hai fatto come suggerito da Jeffrey ed eseguito un debug della pagina? Come è impostata la tua "purga"? Sei sicuro che il "nessun dato trovato" si verifica sulla selezione del blob e non nella tua procedura - hai già commentato la tua chiamata alla procedura?