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

Khi cố gắng tải một clob vào một bảng Oracle, tải quá nhiều bản ghi

Thiết lập điển hình cho Oracle Loader với LOB sẽ là:

  • Tệp điều khiển có hướng dẫn tải
  • Có một tệp dữ liệu chính với siêu dữ liệu (tác giả, ngày tháng, tên tệp). Mỗi dòng trong tệp sẽ trở thành một hàng trong bảng đích.
  • Có một tệp riêng cho mỗi mục nhập trong tệp chính, tệp này được tải vào cột CLOB hoặc BLOB của bảng đích.

Trong trường hợp của bạn, các tệp XML dường như được sử dụng làm cả tệp dữ liệu chính và tệp LOB riêng biệt (mặc dù tôi không hiểu rõ lý do tại sao; bạn cũng chỉ định XML trên dòng lệnh?).

Vì vậy, bạn cần xác định đúng ba điều này. Để tránh ba tệp, bạn đặt tệp dữ liệu chính vào tệp điều khiển bằng cách sử dụng lệnh BEGINDATA (đây là điều mà astrisk sau INFILE dành cho):

LOAD DATA
INFILE * 
REPLACE

INTO TABLE LEAD_REPORTING_CLOB
FIELDS TERMINATED BY ',' TRAILING NULLCOLS
(
    FILENAME,
    SHARED_XML  LOBFILE(FILENAME) TERMINATED BY EOF
)

BEGINDATA
/export/RFD/Lead_Reports/LEADRPT.xml



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đổi tên một nút Oracle XMLTYPE

  2. Văn bản tìm kiếm của Oracle về các chế độ xem

  3. Oracle:cách trừ hai ngày và lấy kết quả theo phút

  4. Cần truy vấn để lấy danh sách các bảng đã sử dụng và chưa sử dụng

  5. Lỗi nhà phát triển SQL Không thể tìm thấy Máy ảo Java