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

Kết nối với Cơ sở dữ liệu Oracle 12c từ Phiên bản Cộng đồng Tích hợp Dữ liệu Pentaho (Kettle)

Giới thiệu

Các công cụ Tích hợp dữ liệu Pentaho (DI) (còn được gọi là Kettle) chứa một loạt các công cụ lọc và chuyển đổi dữ liệu mạnh mẽ có thể được sử dụng để thực hiện các quy trình Trích xuất, Chuyển đổi và Tải. Pentaho DI Community Edition đi kèm với một bộ sưu tập các trình điều khiển cơ sở dữ liệu có thể truy cập vào nhiều hệ thống cơ sở dữ liệu khác nhau dưới dạng nguồn dữ liệu (đầu vào) hoặc đích (đầu ra). Tuy nhiên, phiên bản cộng đồng có thể không có trình điều khiển cho cơ sở dữ liệu Oracle. Các ghi chú sau giả sử Pentaho DI (Ấm đun nước) đã được cài đặt theo các Ghi chú cài đặt Pentaho DI này.

Cài đặt Trình điều khiển JDBC của Oracle

Để sử dụng nguồn dữ liệu Oracle với Pentaho DI, trước tiên bạn phải đảm bảo rằng các trình điều khiển Oracle JDBC đã được cài đặt. Nếu không, hãy lấy chúng từ Oracle và cài đặt chúng trong thư mục lib cho Pentaho DI.

Trình điều khiển Oracle JDBC được vận chuyển cùng với mọi cài đặt Máy chủ Oracle và có thể được tìm thấy trong \ jdbc thư mục của nhà Oracle. Nếu bạn không có quyền truy cập vào máy chủ Oracle, bạn có thể tải xuống các trình điều khiển mới nhất từ ​​trang web JDBC của Oracle. Đảm bảo tải xuống trình điều khiển JDBC phù hợp với phiên bản Java Runtime Environment (JRE) mà bạn đang chạy.

Sao chép Trình điều khiển Oracle JDBC vào thư mục Pentaho \ data-integration \ lib. Khi chạy Pentaho DI với Java7, hãy sử dụng các phiên bản Java 7 của trình điều khiển JDBC như thể hiện trong hình bên dưới:

Thêm hỗ trợ cho ví Oracle

Nếu bạn định kết nối với cơ sở dữ liệu Oracle an toàn, chẳng hạn như Cơ sở dữ liệu tự động trong Đám mây Oracle (như trong ví dụ này), hãy nhớ tải xuống và sao chép qua các tệp hỗ trợ JDBC bao gồm (Đối với JDK phiên bản 8):

ojdbc8.jar
oraclepki.jar
osdt_cert.jar
osdt_core.jar

QUAN TRỌNG:Đảm bảo khởi động lại Tích hợp dữ liệu Pentaho sau khi sao chép jar mới tệp vào lib thư mục.

Hướng dẫn thiết lập kết nối mới với Oracle từ PDI được đưa ra trên trang tiếp theo.

Chạy Pentaho DI và tạo chuyển đổi đầu ra bảng

Chạy Spoon và tạo một chuyển đổi mới cho Đầu ra của Bảng

Nhận Thuộc tính của đầu ra bảng như hình dưới đây:

Đối với Kết nối, hãy nhấp vào nút Mới… để tạo kết nối mới.

Đặt tên cho kết nối cơ sở dữ liệu mới của bạn và sau đó chọn Oracle làm Loại kết nối. Chọn JDBC (Gốc) làm loại Truy cập.

Điền vào Tên máy chủ hoặc địa chỉ IP của máy chủ hiện đang chạy Oracle. Nếu bạn đang chạy Oracle trên máy tính cục bộ của riêng mình, hãy sử dụng địa chỉ IP localhost 127.0.0.1. Đặt số cổng thành nơi trình xử lý cơ sở dữ liệu Oracle đang chạy. Theo mặc định, đây là cổng 1521.

Điền vào Tên cơ sở dữ liệu theo Tên dịch vụ Oracle hoặc SID của bạn. Nếu cơ sở dữ liệu Oracle 12c của bạn được định cấu hình với cơ sở dữ liệu có thể cắm được, hãy sử dụng dấu gạch chéo lên trước tên của cơ sở dữ liệu có thể cắm được (pdb1 trong ví dụ bên dưới).

Cung cấp tên người dùng và mật khẩu tài khoản Oracle cho kết nối. Nếu không gian bảng cho dữ liệu và không gian bảng cho các trường chỉ mục được để trống, thì không gian bảng mặc định cho lược đồ sẽ được sử dụng. Nếu bạn muốn thay đổi những điều này, hãy nhập tên của không gian bảng theo lời nhắc.

Khi hoàn tất, hãy nhấp vào nút Kiểm tra để kiểm tra kết nối.

Thông báo lỗi phổ biến

Nếu thử nghiệm không thành công, hãy kiểm tra các thông báo lỗi. Ví dụ:

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: invalid username/password; logon denied

Kiểm tra tên người dùng và mật khẩu

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

Kiểm tra Tên cơ sở dữ liệu (Tên dịch vụ Oracle, SID hoặc tên cơ sở dữ liệu có thể cắm thêm)

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: The Network Adapter could not establish the connection

Kiểm tra Tên máy chủ và / hoặc Số cổng.

ORA-28000, Account Locked

Đảm bảo rằng tài khoản Oracle đã được mở khóa và mật khẩu hiện tại. Trong một số trường hợp, nếu mật khẩu đang trong "thời gian gia hạn", Pentaho vẫn có thể hiểu điều này là "tài khoản bị khóa". Quản trị viên cơ sở dữ liệu của bạn có thể phải mở khóa tài khoản của bạn theo cách thủ công ( ALTER USER xyz ACCOUNT UNLOCK; ) hoặc đặt lại mật khẩu của bạn.

Sau khi kiểm tra thành công, hãy nhấp vào nút OK và Kết nối cơ sở dữ liệu sẽ được lưu trong biến đổi Đầu ra Bảng. Đảm bảo rằng Lược đồ mục tiêu khớp với tên người dùng và / hoặc lược đồ dự định cho hoạt động đầu ra (hoặc đầu vào) dữ liệu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khi tôi gọi PreparedStatement.cancel () trong ứng dụng JDBC, nó có thực sự giết nó trong cơ sở dữ liệu Oracle không?

  2. tổng kết tuần tự truy vấn oracle trên mỗi hàng

  3. 2PL, Mô hình nghiêm ngặt và nghiêm ngặt, Có lợi ích gì không?

  4. tính toán giờ dựa trên giờ làm việc trong Oracle SQL

  5. Lỗi rút phích cắm PDB ORA-17528