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 reste 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.
Les scénarios adaptés à l’utilisation d’Oracle comme source externe sont les suivants :
- Connecter la base de données Oracle de systèmes métier existants tels que ERP, MES, WMS ou 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 des rapports aux tables existantes
- Continuer à faire gérer la structure de la base de données par le DBA, les scripts de migration ou le système d’origine
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 de tables.
Installation du plug-in
Ce plug-in est un plug-in commercial. Pour connaître la procédure d’activation, consultez le guide d’activation des plug-ins commerciaux.
Si vous sélectionnez le mode 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. L’installation d’Oracle Client dans l’environnement d’exécution de NocoBase est nécessaire uniquement lorsque vous vous connectez à une version antérieure à Oracle Database 12.1 ou lorsque le mode Thick doit être utilisé.
Après avoir sélectionné le mode « Thick » dans la configuration de la source de données, vérifiez que la machine hébergeant le service NocoBase peut charger Oracle Client.

Dans un environnement Linux, vous pouvez installer Oracle Instant Client de la manière suivante :
Si Oracle Client n’est pas installé dans un emplacement que le système peut charger par défaut, indiquez le répertoire des bibliothèques clientes dans le « répertoire Client ». Par exemple, avec la méthode d’installation ci-dessus, le répertoire correspondant est /opt/instantclient_19_25.

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.
Ajouter 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.

Voici les configurations de connexion courantes :
Dans Oracle, l’étendue des objets connectés dépend principalement de l’Owner du compte de connexion, de Table prefix et de « Collections ». Si l’instance contient de nombreux objets, il est recommandé d’utiliser un compte dédié pour se connecter au schéma nécessaire aux activités, afin de limiter l’importation d’objets inutiles dans NocoBase.
Sélectionner les tables de données
Après avoir renseigné les informations de connexion, vous pouvez cliquer sur « Load Collections » pour charger les tables de données 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 de « Collections ».
« Add all collections » est activé par défaut, ce qui signifie que toutes les tables et vues comprises dans 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 nécessaires dans la liste.

Une source de données externe peut connecter au maximum 500 tables ou vues à la fois. Si Oracle contient de nombreux objets, il est recommandé de réduire d’abord l’étendue au moyen de l’Owner du compte de connexion, de Table prefix ou de « Collections ».
Synchroniser et configurer les champs
La structure des tables Oracle externes est gérée côté base de données. NocoBase ne crée pas de champs, ne modifie pas leur type et ne supprime pas les champs réels dans Oracle externe.
Lorsque la structure d’une table Oracle est modifiée, 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 les informations enregistrées dans NocoBase concernant les tables de données, les champs, les clés primaires, les clés uniques et la correspondance des types de champs, mais elle 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 libellé du champ, son type (Field type) et son composant (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 champ de clé étrangère réel n’est automatiquement ajouté aux tables Oracle.
Correspondance des types de champs
NocoBase associe automatiquement les types de champs Oracle au Field type et au Field interface appropriés. Vous pouvez modifier le mode d’affichage dans la configuration du champ.
Les correspondances courantes sont les suivantes :
BLOB、BFILE et les autres types d’objets binaires 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 dans NocoBase une table de fichiers ou un champ de pièces jointes 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’une clé primaire ou d’un champ unique. NocoBase utilise en priorité la clé primaire comme identifiant unique de l’enregistrement.
Si la source connectée est une vue, une table sans clé primaire ou une table avec une 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 permettre d’afficher, de modifier ou de supprimer correctement les enregistrements.

Liens associés
- Base de données externe — Consulter les informations générales sur la configuration et la gestion des bases de données externes
- Gestion des sources de données — Consulter l’accès aux sources de données et leur mode de gestion
- Champs des tables de données — Consulter les informations sur les types de champs et leur correspondance
- Documentation d’initialisation de node-oracledb — Consulter le mode de chargement des bibliothèques Oracle Client

