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

Oracle:зареждане на голям xml файл?

Можете да получите достъп до XML файловете на сървъра чрез SQL. С вашите данни в /tmp/tmp.xml първо ще декларирате директорията:

SQL> create directory d as '/tmp';

Directory created

След това можете да потърсите директно своя XML файл:

SQL> SELECT XMLTYPE(bfilename('D', 'tmp.xml'), nls_charset_id('UTF8')) xml_data
  2    FROM dual;

XML_DATA
--------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<badges>
  [...]

За достъп до полетата във вашия файл можете да използвате метода, описан в друг SO, например:

SQL> SELECT UserId, Name, to_timestamp(dt, 'YYYY-MM-DD"T"HH24:MI:SS.FF3') dt
  2    FROM (SELECT XMLTYPE(bfilename('D', 'tmp.xml'), 
                            nls_charset_id('UTF8')) xml_data
  3            FROM dual),
  4         XMLTable('for $i in /badges/row
  5                              return $i'
  6                  passing xml_data
  7                  columns UserId NUMBER path '@UserId',
  8                          Name VARCHAR2(50) path '@Name',
  9                          dt VARCHAR2(25) path '@Date');

    USERID NAME       DT                         
---------- ---------- ---------------------------
      3718 Teacher    2008-09-15 08:55:03.923    
       994 Teacher    2008-09-15 08:55:03.957    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да генерирам програмно DDL от базата данни на Oracle?

  2. Как да проверите застояла статистика

  3. Въведение в PL/SQL пакетите в Oracle Database

  4. Как да форматирате отрицателни числа с ъглови скоби в Oracle

  5. APPLSYSPUB схема