Oracle
 sql >> Baza danych >  >> RDS >> Oracle

APEX:Pobierz BLOB z tabeli tymczasowej

Spróbuj dodać apex_application.stop_apex_engine po wpg_docload połączenie. Pozwoli to uniknąć dalszego wyprowadzania nagłówków HTTP, potencjalnie utrudniając pobieranie, ponieważ generowany jest dalszy kod wierzchołka.

  owa_util.mime_header( nvl(v_mime,'application/octet'), FALSE );
  htp.p('Content-length: ' || v_length);
  htp.p('Content-Disposition:  attachment; filename="'||replace(replace(substr(v_file_name,instr(v_file_name,'/')+1),chr(10),null),chr(13),null)|| '"');
  owa_util.http_header_close;
  wpg_docload.download_file( Lob_loc );
  apex_application.stop_apex_engine;

Ponadto, aby omówić:

TAk. Ale niekoniecznie w twoim przypadku. Należy pamiętać, jak działa apex w odniesieniu do sesji bazy danych. Apex jest bezstanowy i działa z pulą połączeń. Sesja wierzchołkowa zazwyczaj nie pasuje do 1 sesji bazy danych i nigdy nie ma gwarancji, że na przykład ta sama sesja bazy danych jest używana między renderowaniem a przetwarzaniem. Jest to również krótko wspomniane w dokumentacji na Zrozumienie zarządzania stanem sesji , skopiowany dla wygody:

W przypadku globalnej tabeli tymczasowej oznacza to, że w wielu przypadkach nie ma sensu jej używać, ponieważ dane będą istniały tylko w tej bieżącej sesji bazy danych. Przykładem tego jest sytuacja, w której można wczytać dane do GTT gdzieś w trakcie obciążenia i użyć ich w procesach po przesłaniu lub wywołaniu ajax. Duża szansa, że ​​stół będzie pusty.
Apex zapewnia jednak alternatywę w postaci apex_collection , który tymczasowo przechowuje dane w ramach danej sesji wierzchołka.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.lang.ArithmeticException podczas próby uzyskania połączenia w Oracle 11.2.0.2.0 (wersja 64-bitowa)

  2. Zmień nieunikalny indeks na unikalny indeks

  3. Klasyczna ASP wywołująca procedurę składowaną Oracle ze sterownikiem OraOleadb

  4. Aplikacja asp.net nie łączy się z Oracle 11g nawet po zainstalowaniu natychmiastowego klienta Oracle dla 11g

  5. jak używać COALESCE w Oracle do łączenia danych z dwóch wierszy