2012-01-26 32 views

Trả lời

7

Bạn có thể sử dụng công cụ xuất khẩu của Oracle: exp

Edit:

exp name/[email protected] file=filename.dmp tables=tablename rows=y indexes=n triggers=n grants=n 
+3

expdp (datapump xuất khẩu) được thay thế exp. Nó sẽ nhanh hơn và cung cấp nhiều tính năng hơn, chẳng hạn như tính song song và nén. – llayland

0

Bạn có thể dễ dàng làm điều đó bằng Python và cx_Oracle module. Tập lệnh Python sẽ trích xuất dữ liệu vào đĩa ở định dạng CSV.

Đây là cách bạn kết nối với Oracle sử dụng Python/cx_Oracle:

constr='scott/[email protected]:1521/ORCL12' 
con = cx_Oracle.connect(constr) 
cur = con.cursor() 

Sau khi dữ liệu lấy bạn có thể lặp qua danh sách Python và lưu dữ liệu ở định dạng CSV.

for i, chunk in enumerate(chunks(cur)): 
    f_out.write('\n'.join([column_delimiter.join(row[0]) for row in chunk])) 
    f_out.write('\n') 

tôi đã sử dụng phương pháp này khi tôi đã viết TableHunter-For-Oracle

+0

Nếu CSV là yêu cầu, thì bạn chỉ có thể sử dụng đánh dấu CSV trong sqlplus. – BobC

+0

đúng, nhưng tôi đã có một tập lệnh tạo một tệp cho mỗi bảng. Tôi nghĩ nó phù hợp với dự luật. – olekb

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