Oracle

Data Source: External OracleEnterprise Edition+

Pendahuluan

Oracle dapat dihubungkan ke NocoBase sebagai database eksternal. Setelah terhubung, NocoBase akan membaca tabel data, field, dan view dari Oracle, lalu menggunakannya sebagai tabel data dalam sumber data eksternal.

Berbeda dengan database utama, struktur tabel sebenarnya pada Oracle eksternal tetap dikelola oleh sistem bisnis asli, klien database, atau skrip migrasi. NocoBase bertanggung jawab membaca struktur, menyimpan metadata field, serta mengonfigurasi blok halaman, izin, workflow, dan API.

Item konfigurasiDeskripsi
Versi yang didukungOracle >= 11g.
Versi komersialDidukung oleh Edisi Enterprise.
Plugin terkait@nocobase/plugin-data-source-external-oracle.
Mode koneksiOracle Database versi 12.1 dan yang lebih baru biasanya menggunakan mode Thin; versi sebelum 12.1 menggunakan mode Thick.

Skenario yang sesuai untuk menggunakan Oracle eksternal:

  • Menghubungkan database Oracle dari sistem bisnis seperti ERP, MES, WMS, CRM, dan lainnya
  • Membangun antarmuka manajemen dengan NocoBase tanpa memigrasikan data historis
  • Menerapkan kontrol izin, pemrosesan workflow, perbaikan data, atau tampilan laporan pada tabel yang sudah ada
  • Mempertahankan struktur database melalui DBA, skrip migrasi, atau sistem asli
Perhatian

Oracle eksternal bukan database sistem NocoBase. NocoBase tidak mengambil alih pencadangan, pemulihan, migrasi, atau perubahan struktur tabelnya.

Instalasi plugin

Plugin ini merupakan plugin komersial. Untuk mengetahui cara aktivasinya secara lengkap, lihat: Panduan aktivasi plugin komersial

Jika mode koneksi yang dipilih adalah Thick, Oracle Client libraries harus diinstal di lingkungan runtime NocoBase, dan «Client directory» harus diisi dalam konfigurasi sumber data.

Instalasi klien Oracle

Oracle Database versi 12.1 dan yang lebih baru biasanya menggunakan mode Thin, sehingga tidak memerlukan instalasi Oracle Client tambahan. Oracle Client libraries hanya perlu diinstal di lingkungan runtime NocoBase jika Anda terhubung ke Oracle Database versi sebelum 12.1 atau memang harus menggunakan mode Thick.

Setelah memilih mode «Thick» dalam konfigurasi sumber data, pastikan mesin tempat layanan NocoBase berjalan dapat memuat Oracle Client.

20241204164359

Di lingkungan Linux, Anda dapat merujuk pada metode berikut untuk menginstal Oracle Instant Client:

apt-get update
apt-get install -y unzip wget libaio1
wget https://download.oracle.com/otn_software/linux/instantclient/1925000/instantclient-basic-linux.x64-19.25.0.0.0dbru.zip
unzip instantclient-basic-linux.x64-19.25.0.0.0dbru.zip -d /opt/
echo /opt/instantclient_19_25 > /etc/ld.so.conf.d/oracle-instantclient.conf
ldconfig

Jika Oracle Client tidak diinstal di lokasi default yang dapat dimuat oleh sistem, isi direktori library klien di «Client directory». Misalnya, untuk metode instalasi di atas, direktori yang sesuai adalah /opt/instantclient_19_25.

20241204165940

Tips

Client directory hanya perlu dikonfigurasi dalam mode Thick. Mode Thin tidak menggunakan konfigurasi ini. Untuk aturan inisialisasi selengkapnya, lihat dokumentasi inisialisasi node-oracledb.

Menambahkan sumber data

Di «Manajemen sumber data», klik «Add new», pilih Oracle, lalu isi informasi koneksi.

20241204164359

Konfigurasi koneksi umum adalah sebagai berikut:

KonfigurasiDeskripsi
Data source nameNama identifikasi sumber data yang digunakan sebagai referensi dalam blok halaman, izin, workflow, dan API. Tidak dapat diubah setelah dibuat.
Data source display nameNama sumber data yang ditampilkan di antarmuka. Sebaiknya gunakan nama yang mudah dipahami oleh pengguna bisnis, seperti «ERP Oracle» atau «Database keuangan».
Host / PortAlamat host dan port Oracle. Port default biasanya adalah 1521.
ServerNameNama layanan Oracle. Isi dengan service name yang dikonfigurasi di listener database.
Username / PasswordNama pengguna dan kata sandi untuk terhubung ke Oracle. NocoBase membaca tabel data dan view di bawah Owner akun ini, tetapi tidak memberikan izin atau membaca objek di bawah Owner lain.
Connection modeMode koneksi Oracle. Oracle Database versi 12.1 dan yang lebih baru biasanya menggunakan mode Thin; versi sebelum 12.1 menggunakan mode Thick.
Client directoryDirektori Oracle Client libraries untuk mode Oracle Thick. Hanya perlu dikonfigurasi jika memilih mode Thick.
Table prefixPrefiks nama tabel. Setelah dikonfigurasi, NocoBase hanya membaca tabel data dan view yang cocok dengan prefiks ini, lalu membuat nama tabel tanpa prefiks di NocoBase.
Collections / Add all collectionsMengontrol cakupan koneksi. Jika «Add all collections» diaktifkan, NocoBase akan menghubungkan semua tabel dan view dalam cakupan Owner dan prefiks saat ini; jika dinonaktifkan, hanya objek yang dipilih di «Collections» yang akan dihubungkan.
Enabled the data sourceMenentukan apakah sumber data ini diaktifkan. Setelah dinonaktifkan, konfigurasi sumber data tetap dipertahankan, tetapi blok halaman, izin, workflow, dan API tidak dapat lagi membaca datanya.
Tips

Cakupan koneksi di Oracle terutama ditentukan oleh Owner akun koneksi, Table prefix, dan «Collections». Jika terdapat banyak objek dalam satu instans, sebaiknya gunakan akun khusus untuk terhubung ke schema yang diperlukan bisnis agar objek yang tidak relevan tidak masuk ke NocoBase.

Memilih tabel data

Setelah mengisi informasi koneksi, klik «Load Collections» untuk membaca tabel data dan view yang tersedia di Oracle. Hasil pembacaan dipengaruhi oleh Owner akun koneksi, Table prefix, dan konfigurasi «Collections».

Secara default, «Add all collections» akan diaktifkan, yang berarti semua tabel dan view dalam cakupan saat ini akan dihubungkan. Jika hanya ingin menghubungkan sebagian objek, nonaktifkan «Add all collections», lalu pilih tabel data atau view yang diperlukan dari daftar.

add_new_database_configure_load_collection

Perhatian

Satu sumber data eksternal dapat menghubungkan maksimal 500 tabel data atau view dalam satu waktu. Jika terdapat banyak objek di Oracle, sebaiknya persempit cakupan terlebih dahulu melalui Owner akun koneksi, Table prefix, atau «Collections».

Sinkronisasi dan konfigurasi field

Struktur tabel Oracle eksternal dikelola di sisi database. NocoBase tidak akan membuat field, mengubah tipe field, atau menghapus field sebenarnya di Oracle eksternal.

Jika struktur tabel di sisi Oracle berubah, jalankan «Sync from database» pada sumber data untuk membaca ulang metadata tabel dan field. Sinkronisasi akan memperbarui informasi tabel data, field, primary key, unique key, dan pemetaan tipe field yang disimpan di NocoBase, tetapi tidak akan menghapus tabel atau data sebenarnya di Oracle.

Setelah field disinkronkan, Anda dapat mengonfigurasi judul field, tipe field (Field type), dan komponen field (Field interface) di NocoBase. Jika perlu membuat field relasi NocoBase, metadata relasi juga disimpan di NocoBase dan tidak akan secara otomatis menambahkan foreign key sebenarnya ke tabel Oracle.

Pemetaan tipe field

NocoBase akan secara otomatis memetakan tipe field Oracle ke Field type dan Field interface yang sesuai. Anda dapat menyesuaikan cara tampilannya di antarmuka melalui konfigurasi field.

Pemetaan umum adalah sebagai berikut:

Tipe field OracleNocoBase Field typeField interface yang tersedia
NUMBERintegerfloatbooleanbigIntunixTimestampsortInteger、Number、Sort、Checkbox、Switch、Select、Radio group。
BINARY_FLOATBINARY_DOUBLEFLOATfloatNumber、Percent。
INTEGERSMALLINTPLSQL_INTEGERintegerbooleansortInteger、Sort、Checkbox、Switch、Select、Radio group。
CHARNCHARVARCHAR2NVARCHAR2stringuuidnanoiddatetimeNoTzInput、Email、Phone、Password、Color、Icon、Select、Radio group、UUID、Nano ID。
LONGNCLOBstringtextInput、Textarea、Markdown、Vditor、Rich text。
CLOBstringInput、Textarea、Rich text。
DATEdatetimeNoTzDate、Time、Created at、Updated at。
TIMESTAMPdatetimeNoTzDate、Time、Created at、Updated at。
TIMESTAMP WITH TIME ZONETIMESTAMP WITH LOCAL TIME ZONEdatetimeTzDate、Time、Created at、Updated at。
ROWIDUROWIDstringtextintegerInput、Textarea、Integer。
JSONjsonJSON。
Perhatian

BLOBBFILE dan tipe objek biner lainnya tidak akan otomatis digunakan sebagai field file biasa. Jika perlu mengelola lampiran di halaman, biasanya disarankan menggunakan tabel file atau field lampiran di NocoBase untuk menyimpan metadata file.

Primary key dan identifikasi unik record

Untuk tabel data yang digunakan untuk menampilkan dan mengedit blok halaman, sebaiknya tersedia primary key atau field unik. NocoBase akan memprioritaskan primary key sebagai identifikasi unik record.

Jika yang dihubungkan adalah view, tabel tanpa primary key, atau tabel dengan composite primary key, Anda perlu mengatur «Record unique key» secara manual dalam konfigurasi tabel data. Jika tidak tersedia identifikasi unik yang dapat digunakan, blok halaman mungkin tidak dapat melihat, mengedit, atau menghapus record dengan benar.

20260709210948 20260709211004

Tautan terkait