Bỏ qua, đến nội dung

Hướng dẫn cài đặt và cấu hình — Oracle Database Data Source

Yêu cầu hệ thống

  • Server Digiforce đang hoạt động
  • Oracle Database 12.1 trở lên (Thin mode) hoặc Oracle 11g+ (Thick mode, cần Oracle Instant Client)
  • Plugin data-source-manager đã được kích hoạt (bắt buộc)
  • Mạng: server Digiforce có thể kết nối đến Oracle Database (mở firewall port 1521)

Lưu ý

Plugin yêu cầu data-source-manager phải được bật trước. Ngoài ra, nếu kết nối Oracle Database phiên bản cũ (< 12.1), cần cài đặt Oracle Instant Client trên server.

Bước 1: Kích hoạt Plugin

  1. Vào Settings → Plugin Manager
  2. Tìm plugin-data-source-external-oracle
  3. Bật toggle để kích hoạt

Plugin đăng ký type oracle vào DataSourceManager.factory và dialect OracleDialect vào Database.

Bước 2: Tạo Data Source mới

  1. Vào Settings → Data sources
  2. Nhấn Add new
  3. Chọn loại Oracle
  4. Điền thông tin kết nối:
TrườngBắt buộcMô tảGiá trị mặc định
Data source nameTên định danh
Data source display nameTên hiển thị
HostĐịa chỉ server Oraclelocalhost
PortCổng Oracle Listener1521
ServerNameService Name của Oracle instance
UsernameTên đăng nhập Oracle
PasswordMật khẩu
Connection modeThin (>= 12.1) hoặc Thick (< 12.1)thin
Client directoryĐiều kiệnĐường dẫn Oracle Instant Client (chỉ khi Thick mode)
Table prefixKhôngTiền tố bảng
EnabledBật/tắt data sourcetrue

Mẹo

Các trường cấu hình hỗ trợ biến môi trường qua component TextAreaWithGlobalScope. Ví dụ: {{env.ORACLE_HOST}}.

Chế độ kết nối (Connection Mode)

Chế độPhiên bản OracleYêu cầuMô tả
Thin>= 12.1Không cần client libraryKết nối trực tiếp qua JavaScript, nhẹ và nhanh
Thick< 12.1 (11g)Cần Oracle Instant ClientSử dụng OCI (Oracle Call Interface), hỗ trợ đầy đủ tính năng Oracle cũ

Khi chọn Thick mode, trường Client directory xuất hiện. Plugin tự động tìm Oracle Instant Client trong:

  • storage/libs/oracle-client/instantclient_19_23
  • storage/libs/oracle-client/instantclient_19_25

Nếu không tìm thấy, cần chỉ định đường dẫn thủ công.

Bước 3: Kiểm tra kết nối

Nhấn Test connection để xác nhận. Plugin kết nối qua connect string host:port/servername sử dụng driver oracledb.

Bước 4: Chọn bảng

Sau khi lưu, plugin tự động introspect schema:

  1. Kết nối đến Oracle
  2. Query ALL_TABLES, ALL_TAB_COLUMNS để liệt kê bảng và cột
  3. Schema mặc định là username (viết hoa) — Oracle phân biệt schema theo owner
  4. Map kiểu cột Oracle → field type Digiforce

Ánh xạ kiểu dữ liệu (Type Mapping)

Kiểu OracleField TypeGhi chú
NUMBERinteger, float, boolean, bigIntTùy precision/scale
BINARY_FLOATfloat
BINARY_DOUBLEfloat
FLOATfloat
INTEGER, SMALLINTinteger
CHAR, NCHARstringHỗ trợ uuid, nanoid
VARCHAR2, NVARCHAR2stringHỗ trợ uuid, nanoid
LONGstring, text
CLOB, NCLOBstring, textLarge text
JSONjsonOracle 21c+ native JSON
DATEdatetimeNoTzOracle DATE bao gồm cả giờ
TIMESTAMPdatetimeNoTz
TIMESTAMP WITH TIME ZONEdatetimeTz
TIMESTAMP WITH LOCAL TIME ZONEdatetimeTz
ROWID, UROWIDstringRow identifier

Lưu ý về kiểu DATE

Oracle DATE khác với SQL tiêu chuẩn — nó bao gồm cả ngày và giờ. Plugin cấu hình session NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS' tự động.

Cài đặt Oracle Instant Client (Thick mode)

Nếu cần kết nối Oracle Database phiên bản cũ (11g), cần cài Oracle Instant Client:

Plugin cung cấp command để cài đặt:

bash
yarn digiforce-nc install-oracle-client

Hoặc cài thủ công:

  1. Tải Oracle Instant Client từ oracle.com
  2. Giải nén vào thư mục, ví dụ: storage/libs/oracle-client/instantclient_19_25
  3. Chỉ định đường dẫn trong cấu hình data source

Tạo user Oracle với quyền tối thiểu

sql
-- Tạo user
CREATE USER digiforce_ro IDENTIFIED BY "StrongPassword123";

-- Cấp quyền kết nối
GRANT CREATE SESSION TO digiforce_ro;

-- Chỉ đọc
GRANT SELECT ANY TABLE TO digiforce_ro;

-- Đọc và ghi (trên schema cụ thể)
GRANT SELECT, INSERT, UPDATE, DELETE ON hr.employees TO digiforce_rw;

Connection Pool

Plugin cấu hình connection pool mặc định:

Tham sốGiá trị
maxConnections50
minConnections5
maxIdleTime30000ms (30 giây)

Xác nhận hoạt động

Sau khi cấu hình:

  1. Vào Collection Manager → chọn data source vừa tạo
  2. Xem danh sách bảng đã được map
  3. Thử CRUD để kiểm tra hoạt động