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

Lấy kết xuất các bảng trong oracle 10g bằng thủ tục PL / SQL

Khi bạn ở trên 10g, bạn có thể thực hiện việc này với API bơm dữ liệu. Bạn cần có quyền truy cập đọc và ghi trên một đối tượng thư mục ánh xạ đến thư mục hệ điều hành đích.

Trong ví dụ sau, tôi đang xuất hai bảng, EMP và DEPT, sang tệp có tên EMP.DMP trong thư mục được xác định bởi DATA_PUMP_DIR.

SQL> declare
  2      dp_handle       number;
  3  begin
  4      dp_handle := dbms_datapump.open(
  5      operation   => 'EXPORT',
  6      job_mode    => 'TABLE');
  7
  8    dbms_datapump.add_file(
  9      handle    =>  dp_handle,
 10      filename  => 'emp.dmp',
 11      directory => 'DATA_PUMP_DIR');
 12
 13    dbms_datapump.add_file(
 14      handle    => dp_handle,
 15      filename  => 'emp.log',
 16      directory => 'DATA_PUMP_DIR',
 17      filetype  => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
 18
 19    dbms_datapump.metadata_filter(
 20      handle => dp_handle,
 21      name   => 'NAME_LIST',
 22      value  => '''EMP'',''DEPT''');
 23
 24    dbms_datapump.start_job(dp_handle);
 25
 26    dbms_datapump.detach(dp_handle);
 27  end;
 28  /    

PL/SQL procedure successfully completed.

SQL> 

@DerekMahar hỏi:

"Có công cụ bơm dữ liệu tương tự hoặcAPI có sẵn để thực thi từ phía phòng khám không"

DataPump, cả API PL / SQL và tiện ích hệ điều hành, ghi vào các thư mục Oracle. Thư mục Oracle phải đại diện cho một thư mục hệ điều hành được hiển thị cho cơ sở dữ liệu. Thông thường đó là một thư mục trên máy chủ, mặc dù tôi cho rằng về mặt lý thuyết có thể ánh xạ ổ đĩa PC vào mạng. Bạn phải thuyết phục quản trị viên mạng của mình rằng đây là một ý tưởng hay, đây là một món hàng khó bán, bởi vì nó không ...

Các tiện ích IMP và EXP cũ hơn đọc và ghi từ các thư mục máy khách, vì vậy về mặt lý thuyết có thể IMP một tệp kết xuất cục bộ vào cơ sở dữ liệu từ xa. Nhưng tôi không nghĩ đây là một cách tiếp cận thực tế. Về bản chất, các tệp kết xuất có xu hướng lớn, vì vậy việc nhập qua mạng sẽ chậm và dễ bị lỗi. Giải pháp tốt hơn nhiều là nén tệp kết xuất, sao chép tệp đó vào máy chủ và nhập tệp từ đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL để thay đổi kiểu cột từ số thành varchar2 trong khi nó chứa dữ liệu

  2. PreparedStatement và setTimestamp trong oracle jdbc

  3. Danh sách các vùng lãnh thổ được Cơ sở dữ liệu Oracle hỗ trợ

  4. Làm thế nào để gỡ lỗi ORA-01775:lặp lại chuỗi từ đồng nghĩa?

  5. So sánh các nhà cung cấp tương thích Entity Framework cho Oracle?