Oracle
 sql >> база данни >  >> RDS >> Oracle

Импортиране на файлове в Oracle Apex с помощта на wwv_flow_files

Да предположим, че искате да импортирате съдържание на csv файл с персонализирана процедура на база данни в Oracle Apex, като използвате елемент на страницата за преглед на файлове. Следвайте тези стъпки:Създайте елемент на страницата за разглеждане на файлове в Apex и изберете опцията wwv_flow_files, за да съхранявате файла. След това създайте процеса на страницата и изберете след изпращане и изпълнение опцията за валидиране и опцията plsql код за процеса. В областта plsql напишете следния код да експортирате csv файл от база данни (wwv_flow_files view) към сървърно устройство и след това да извикате вашата персонализирана процедура за импортиране на съдържанието на този файл в таблица.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
ИЗБЕРЕТЕ blob_content
INTO v_upl_blob
ОТ wwv_flow_files
КЪДЕ name =:P25_FB;
-- :p25_fb е елементът за разглеждане на файла в страница
LEN :=Dbms_lob.getlength(V_UPL_BLOB);
l_output :=Utl_File.fopen ('MY_FILES', :P25_FB, 'wb', 32760);
vstart :=1;
bytelen :=32000;
IF len <32760
След това
Utl_File.put_raw (l_output, V_UPL_BLOB);
Utl_File.fflush (l_output);
Иначе -- пишете на парчета
vstart :=1;

WHILE 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);
-- задайте начална позиция за следващото изрязване
vstart :=vstart + bytelen;
-- задайте крайната позиция, ако е по-малко от 32000 байта
x :=x - bytelen;

IF x <32000
След това
bytelen :=x;
END IF;
END LOOP;
END IF;

Utl_File.fclose (l_output);

DELETE FROM wwv_flow_files
WHERE name =:P25_FB;
COMMIT;
--- извикайте вашата персонализирана процедура на база данни, за да импортирате...
yourcustomprocedure(:P25_FB);
ИЗКЛЮЧЕНИЕ Когато Други
Тогава
АКО Utl_File.is_Open(l_output) Тогава
Utl_File.fclose (L_OUTPUT);
END IF;
повдигане;
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. SQLException:Не е намерен подходящ драйвер за jdbc:oracle:thin:@//localhost:1521/orcl

  2. Как да намерите таблица, където статистиката е заключена

  3. Oracle SQL заявка за изброяване на всички схеми в DB

  4. Автоматизирайте задания за интегриране на данни на IRI с Oracle Job Scheduler

  5. Използване на функцията Oracle to_date за низ от дата с милисекунди