Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

APEX:Unduh BLOB dari tabel sementara

Coba tambahkan apex_application.stop_apex_engine setelah wpg_docload panggilan. Ini akan menghindari keluaran lebih lanjut dari header HTTP, yang berpotensi mengacaukan unduhan Anda karena kode apex lebih lanjut dihasilkan.

  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;

Selanjutnya, untuk menguraikan :

Ya. Tetapi belum tentu dalam kasus Anda. Penting untuk diingat bagaimana apex bekerja sehubungan dengan sesi database. Apex tidak memiliki status dan berfungsi dengan penyatuan koneksi. Sesi apex umumnya tidak cocok dengan 1 sesi database, dan Anda tidak pernah dijamin bahwa, misalnya, sesi database yang sama digunakan antara render dan pemrosesan. Ini juga disebutkan secara singkat dalam dokumentasi di Memahami Manajemen Status Sesi , disalin untuk kenyamanan:

Dalam kasus tabel sementara global ini berarti bahwa tidak ada gunanya digunakan dalam banyak kasus karena data hanya akan ada di sesi database saat ini. Contohnya adalah di mana seseorang akan memuat data dalam GTT di suatu tempat di onload dan berarti menggunakannya dalam proses setelah pengiriman atau panggilan ajax. Besar kemungkinan tabel akan kosong.
Apex memberikan alternatif berupa apex_collection , yang sementara akan menyimpan data dalam sesi puncak tertentu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penggabungan String Agregat di Oracle 10g

  2. Fungsi Tersimpan di Oracle tidak Memasukkan Nilai ke dalam tabel yang diinginkan

  3. Bagaimana cara menambahkan kolom khusus dalam bentuk tabel?

  4. Mengonversi Angka ke Kata dalam hasil MYSQL! Menggunakan Kueri

  5. Bagaimana menghindari dua utas berbeda membaca baris yang sama dari DB (Hibernate dan Oracle 10g)