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

Mengimpor File di Oracle Apex Menggunakan wwv_flow_files

Misalkan Anda ingin mengimpor konten file csv dengan prosedur database kustom di Oracle Apex menggunakan item halaman jelajah file. Ikuti langkah-langkah ini:Buat item halaman jelajah file di Apex dan pilih opsi wwv_flow_files untuk menyimpan file. Kemudian buat proses halaman dan pilih setelah mengirimkan dan mengeksekusi opsi validasi dan opsi kode plsql untuk proses tersebut. Di area plsql tulis kode berikut untuk mengekspor file csv dari database (tampilan wwv_flow_files) ke drive server dan kemudian memanggil prosedur kustom Anda untuk mengimpor konten file tersebut ke dalam tabel. DECLARE
v_upl_blob BLOB;
vstart Number :=1;
Bytelen Number :=32000;
len Number;
my_vr Raw (32000);
x Number;
l_output Utl_file.file_type;
erout varchar2(1000);
BEGIN
PILIH blob_content
INTO v_upl_blob
FROM wwv_flow_files
WHERE name =:P25_FB;
-- :p25_fb adalah item browse file di halaman
LEN :=Dbms_lob.getlength(V_UPL_BLOB);
l_output :=Utl_File.fopen ('MY_FILES', :P25_FB, 'wb', 32760);
vstart :=1;
byte :=32000;
IF len <32760
Kemudian
Utl_File.put_raw (l_output, V_UPL_BLOB);
Utl_File.fflush (l_output);
Lain -- tulis dalam potongan
vstart :=1;

SAAT vstart 0
LOOP
Dbms_lob.Read (V_UPL_BLOB, bytelen, vstart, my_vr);
Utl_File.put_raw (l_output, my_vr);
Utl_File.fflush (l_output);
-- atur posisi awal untuk pemotongan berikutnya
vstart :=vstart + bytelen;
-- atur posisi akhir jika kurang dari 32000 byte
x :=x - bytelen;

JIKA x <32000
Kemudian
byte :=x;
END IF;
END LOOP;
END IF;

Utl_File.fclose (l_output);

HAPUS DARI wwv_flow_files
WHERE name =:P25_FB;
COMMIT;
--- panggil prosedur database kustom Anda untuk mengimpor...
yourcustomprocedure(:P25_FB);
PENGECUALIAN Ketika Lainnya
Kemudian
IF Utl_File.is_Open(l_output) Kemudian
Utl_File.fclose (L_OUTPUT);
END IF;
raise;
END;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendaftar Semua Tabel di Oracle

  2. Bagaimana menangani detik kabisat di Oracle

  3. Pesanan Kustom di Oracle SQL

  4. Perintah Cadangan RMAN

  5. ORA-00904 pengidentifikasi tidak valid pada alias dekode