Oracle

Data source: External OracleEnterprise Edition+

Présentation

Oracle peut être connecté à NocoBase en tant que base de données externe. Une fois la connexion établie, NocoBase lit les tables, les champs et les vues d’Oracle et les utilise comme tables de données dans la source de données externe.

Contrairement à la base de données principale, la structure réelle des tables Oracle externes continue d’être gérée par le système métier d’origine, le client de base de données ou les scripts de migration. NocoBase se charge de lire la structure, d’enregistrer les métadonnées des champs et de configurer les blocs de page, les autorisations, les workflows et les API.

Élément de configurationDescription
Versions prises en chargeOracle >= 11g.
Version commercialePrise en charge par l’édition Enterprise.
Plugin correspondant@nocobase/plugin-data-source-external-oracle.
Mode de connexionLes versions Oracle Database 12.1 et ultérieures utilisent généralement le mode Thin ; les versions antérieures à 12.1 utilisent le mode Thick.

Les scénarios adaptés à l’utilisation d’Oracle externe sont les suivants :

  • Connecter les bases de données Oracle de systèmes métier existants tels qu’un ERP, un MES, un WMS ou un CRM
  • Créer une interface de gestion avec NocoBase sans migrer les données historiques
  • Appliquer des autorisations, des processus, des corrections de données ou un affichage sous forme de rapports aux tables existantes
  • Continuer à gérer la structure de la base de données avec le DBA, les scripts de migration ou le système d’origine
Attention

Oracle externe n’est pas la base de données système de NocoBase. NocoBase ne prend pas en charge ses sauvegardes, restaurations, migrations ni modifications de structure des tables.

Installation du plugin

Ce plugin est un plugin commercial. Pour plus d’informations sur son activation, consultez le Guide d’activation des plugins commerciaux.

Si vous sélectionnez le mode de connexion Thick, vous devez installer les bibliothèques Oracle Client dans l’environnement d’exécution de NocoBase et renseigner le « répertoire Client » dans la configuration de la source de données.

Installation du client Oracle

Les versions Oracle Database 12.1 et ultérieures utilisent généralement le mode Thin et ne nécessitent pas l’installation supplémentaire d’Oracle Client. Vous devez installer Oracle Client dans l’environnement d’exécution de NocoBase uniquement si vous vous connectez à une version antérieure à Oracle Database 12.1 ou si vous devez utiliser le mode Thick.

Après avoir sélectionné le mode « Thick » dans la configuration de la source de données, vérifiez que la machine qui héberge le service NocoBase peut charger Oracle Client.

20241204164359

Sous Linux, vous pouvez installer Oracle Instant Client comme indiqué ci-dessous :

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

Si Oracle Client n’est pas installé à un emplacement que le système peut charger par défaut, renseignez le répertoire des bibliothèques clientes dans « Répertoire Client ». Par exemple, avec la méthode d’installation ci-dessus, le répertoire correspondant est /opt/instantclient_19_25.

20241204165940

Conseil

Client directory doit être configuré uniquement en mode Thick. Le mode Thin n’utilise pas cette configuration. Pour plus d’informations sur les règles d’initialisation, consultez la documentation d’initialisation de node-oracledb.

Ajout d’une source de données

Dans « Gestion des sources de données », cliquez sur « Add new », sélectionnez Oracle, puis renseignez les informations de connexion.

20241204164359

Les configurations de connexion courantes sont les suivantes :

ConfigurationDescription
Data source nameNom d’identification de la source de données, utilisé comme référence dans les blocs de page, les autorisations, les workflows et les API. Il ne peut plus être modifié après la création.
Data source display nameNom affiché dans l’interface pour la source de données. Il est recommandé d’utiliser un nom compréhensible par les utilisateurs métier, comme « Oracle ERP » ou « Base financière ».
Host / PortAdresse et port de l’hôte Oracle. Le port par défaut est généralement 1521.
ServerNameNom du service Oracle. Renseignez le nom du service configuré dans l’écouteur de la base de données.
Username / PasswordNom d’utilisateur et mot de passe utilisés pour se connecter à Oracle. NocoBase lit les tables et les vues appartenant à cet Owner, sans autoriser ni lire les objets appartenant à d’autres Owners.
Connection modeMode de connexion Oracle. Les versions Oracle Database 12.1 et ultérieures utilisent généralement le mode Thin ; les versions antérieures à 12.1 utilisent le mode Thick.
Client directoryRépertoire des bibliothèques Oracle Client en mode Oracle Thick. Il doit être configuré uniquement lorsque le mode Thick est sélectionné.
Table prefixPréfixe des noms de tables. Une fois configuré, NocoBase ne lit que les tables et les vues correspondant à ce préfixe et génère dans NocoBase des noms de tables sans préfixe.
Collections / Add all collectionsContrôle l’étendue de la connexion. Lorsque « Add all collections » est activé, NocoBase connecte toutes les tables et vues correspondant à l’Owner et au préfixe actuels ; lorsqu’il est désactivé, seuls les objets sélectionnés dans « Collections » sont connectés.
Enabled the data sourceIndique si cette source de données est activée. Lorsqu’elle est désactivée, sa configuration est conservée, mais les blocs de page, les autorisations, les workflows et les API ne peuvent plus lire ses données.
Conseil

L’étendue des objets Oracle connectés est principalement déterminée par l’Owner du compte de connexion, Table prefix et « Collections ». Si une même instance contient beaucoup d’objets, il est recommandé d’utiliser un compte dédié pour se connecter au schéma requis par l’activité, afin de limiter l’importation d’objets inutiles dans NocoBase.

Sélection des tables de données

Après avoir renseigné les informations de connexion, vous pouvez cliquer sur « Load Collections » pour charger les tables et les vues disponibles dans Oracle. Les résultats dépendent de l’Owner du compte de connexion, de Table prefix et de la configuration « Collections ».

Par défaut, « Add all collections » est activé, ce qui signifie que toutes les tables et vues correspondant à l’étendue actuelle seront connectées. Pour ne connecter qu’une partie des objets, désactivez « Add all collections », puis sélectionnez les tables ou les vues souhaitées dans la liste.

add_new_database_configure_load_collection

Attention

Une même source de données externe peut connecter au maximum 500 tables ou vues à la fois. Si Oracle contient beaucoup d’objets, il est recommandé de restreindre d’abord l’étendue à l’aide de l’Owner du compte de connexion, de Table prefix ou de « Collections ».

Synchronisation et configuration des champs

La structure des tables Oracle externes est gérée côté base de données. NocoBase ne crée pas de champs dans Oracle externe, ne modifie pas les types de champs et ne supprime pas les champs réels.

Lorsque la structure des tables change côté Oracle, vous pouvez exécuter « Sync from database » dans la source de données afin de relire les métadonnées des tables et des champs. La synchronisation met à jour dans NocoBase les informations enregistrées sur les tables de données, les champs, les clés primaires, les clés uniques et le mappage des types de champs, mais ne supprime ni les tables ni les données réelles dans Oracle.

Après la synchronisation des champs, vous pouvez configurer dans NocoBase le titre du champ, le type de champ (Field type) et l’interface du champ (Field interface). Si vous devez créer des champs de relation NocoBase, les métadonnées de relation sont également enregistrées dans NocoBase ; aucun véritable champ de clé étrangère n’est automatiquement ajouté aux tables Oracle.

Mappage des types de champs

NocoBase mappe automatiquement les types de champs Oracle vers un Field type et un Field interface appropriés. Vous pouvez ajuster le mode d’affichage dans la configuration du champ.

Les mappages courants sont les suivants :

Type de champ OracleNocoBase Field typeField interface disponibles
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。
Attention

Les types d’objets binaires tels que BLOB et BFILE ne sont pas automatiquement utilisés comme champs de fichiers ordinaires. Si vous devez gérer des pièces jointes dans les pages, il est généralement recommandé d’utiliser une table de fichiers ou un champ de pièces jointes dans NocoBase pour enregistrer les métadonnées des fichiers.

Clé primaire et identifiant unique des enregistrements

Pour les tables de données utilisées dans les blocs de page pour l’affichage et la modification, il est recommandé de disposer d’un champ de clé primaire ou d’un champ unique. NocoBase utilise en priorité la clé primaire comme identifiant unique de l’enregistrement.

Si vous connectez une vue, une table sans clé primaire ou une table à clé primaire composite, vous devez définir manuellement le « Record unique key » dans la configuration de la table de données. En l’absence d’identifiant unique disponible, les blocs de page peuvent ne pas pouvoir consulter, modifier ou supprimer correctement les enregistrements.

20260709210948 20260709211004

Liens associés