sql >> Databasteknik >  >> RDS >> Oracle

problem med apex_application_temp_files

Du måste välja kolumnen NAME istället för FILENAME . Den förra är den unika identifieraren (ser ut som series_of_numbers\the_filename ) och är vad filbläddringsobjektet kommer att innehålla, medan det senare är utan prefix.

Titta, du måste ge mer information från din sida. Jag har skapat en väldigt enkel sida för att prova detta (apex.oracle.com).

P2_FILE är ett fil-bläddringsobjekt.

  • Lagringstyp:Tabell APEX_APPLICATION_TEMP_FILES
  • Rensa fil vid:slutet av sessionen

Jag har skapat en på-sändningsprocess som inte gör något mer än att lista några saker i felsökningsutdata.

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;

Så jag kör sidan, aktiverar felsökning, väljer en fil och trycker på skicka. Alla fungerar. Kontrollera felsökningsloggen (acceptera):

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

Så:vad är annorlunda i din ände? Har du gjort som Jeffrey föreslagit och kört en felsökning av sidan? Vad är din "purge" inställd på? Är du säker på att no-data-found inträffar vid val av blob och inte i din procedur - har du kommenterat ditt procedursamtal ännu?




  1. i redshift postgresql kan jag hoppa över kolumner med kopieringsfunktionen

  2. beräkna Row Wise Sum - SQL-server

  3. MariaDB MaxScale Load Balancing på Docker:Implementering:Del ett

  4. Syntaxfel med Rand()-funktionen i MySQL i Delphi