2012-01-21 27 views
5

Tôi chỉ đang bị xóa bỏ nếu có tương đương với MySQL LOAD DATA INFILE statemnent trong Oracle? Tôi cần nó bởi vì tôi muốn đọc từ một textfile rất lớn vào một bảng cơ sở dữ liệu.LOAD DATA INFILE tương đương trong Oracle

+2

Nó có thể là Trình tải SQL *. –

Trả lời

5

Oracle cung cấp tiện ích dòng lệnh SQLLoader. Nhưng nó dựa trên một định dạng thích hợp của tập tin dữ liệu.

Bạn có thể thử xem Oracle External Tables (ví dụ: bạn có thể liên kết tệp csv dưới dạng bảng bên ngoài và xem dưới dạng bảng trong Oracle).

Cả hai giải pháp đều có ưu điểm và nhược điểm, nhưng nhược điểm lớn là chúng vẫn dựa vào định dạng nhập dữ liệu (vì vậy nếu bạn có tệp sẵn sàng cho mysql, bạn có thể cần chỉnh sửa nó một chút).

0

Ví dụ trên cửa sổ 10 và Oracle 12c

nếu bạn có một tập tin văn bản với hồ sơ của mỗi bảng giới hạn bởi dấu phẩy, bạn có thể làm điều này:

Tạo một tập tin điều khiển cho mỗi bảng, gọi table_name.ctl (C: \ Users \ user \ Desktop \ thư mục table_name.ctl \)

load data 
infile 'C:\Users\user\Desktop\directory\table_name.txt' 
append 
into table table_name 
fields terminated by "," 
(id, field2,field3) 

Sau đó, trong cửa sổ bạn nên mở Cmd và tải dữ liệu trong mỗi bảng, và sau đó tải dữ liệu từ xa ví dụ như trong một máy chủ aws.

sqlldr [email protected]_PDB1/password 
control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true 

hoặc

sqlldr control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true 
and then ask them the user and password 

Nếu bạn có các lỗi sau: “Chương trình này không thể bắt đầu vì oranfsodm12.dll là mất tích từ máy tính của bạn. Hãy thử cài đặt lại chương trình để khắc phục vấn đề này “

đó là vì SQL * Loader bị vô hiệu hóa và không thể được sử dụng trong các cửa sổ giao diện điều khiển, điều này được giải quyết cho phép các bước sau (như http://www.dallasmarks.com/installing-two-oracle-12c-clients-on-one-server/):.

  1. nên đi đến thư mục C: \ oracle \ client \ user \ sản phẩm \ 12.1.0 \ client_1 \ BIN

  2. Tạo một bản sao của tập tin oraodm12.dll, gọi mới tập oranfsodm12.dll , và quá khứ e nó trong cùng một thư mục BIN.

  3. Chạy lại lệnh từ cmd.

Các vấn đề liên quan