Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle:Đang tải một tệp xml lớn?

Bạn có thể truy cập các tệp XML trên máy chủ thông qua SQL. Với dữ liệu của bạn trong /tmp/tmp.xml, trước tiên bạn phải khai báo thư mục:

SQL> create directory d as '/tmp';

Directory created

Sau đó, bạn có thể truy vấn trực tiếp Tệp XML của mình:

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>
  [...]

Để truy cập các trường trong tệp của bạn, bạn có thể sử dụng phương pháp được mô tả trong SO khác, ví dụ:

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. Kết nối OEM của bạn với Grafana bằng ứng dụng Trình quản lý doanh nghiệp cho Grafana

  2. java.security.AccessControlException:quyền truy cập bị từ chối (java.security.SecurityPermission authProvider.SunMSCAPI)

  3. Sao chép một hàng trong cùng một bảng mà không cần phải nhập hơn 50 tên cột (trong khi thay đổi 2 cột)

  4. Làm cách nào để chèn vào cột BLOB từ một câu lệnh chèn trong sqldeveloper?

  5. Phân vùng chia nhanh