Connecteur source pour Oracle¶
Ce guide décrit comment configurer digna pour se connecter à Oracle Database via ODBC, à l'aide d'une chaîne de connexion sans DSN.
La partie digna de la configuration est identique pour toutes les technologies — où les connexions sont créées, comment les valeurs des propriétés sont chiffrées, comment une connexion est testée et ce que signifient les modes de profilage. Elle est décrite dans Vue d'ensemble des connexions aux bases de données. Cette page traite de ce qui est spécifique à Oracle.
1. Installer le pilote ODBC¶
Le pilote ODBC Oracle fait partie du client Oracle (le paquet « ODBC » d'Instant Client suffit). Installez-le sur la machine qui exécute le backend digna, en suivant le guide d'installation officiel de l'éditeur.
Le pilote s'enregistre sous le nom Oracle in <OracleHomeName> — par exemple Oracle in OraDB21Home1 ou Oracle in instantclient_21_13. Le nom du home diffère d'une installation à l'autre ; relevez donc le nom exact sur votre hôte comme décrit dans Installer le pilote ODBC sur l'hôte digna.
2. Propriétés ODBC¶
Un exemple, pas une spécification
L'ensemble ci-dessous est une combinaison dont on sait qu'elle fonctionne. Les propriétés appartiennent au pilote ODBC Oracle, donc leurs noms, leurs valeurs par défaut et les valeurs acceptées diffèrent selon les versions du client, et le nom du pilote en particulier dépend du home Oracle présent sur votre hôte. Prenez ceci comme point de départ et consultez la documentation de la version du client que vous avez installée.
Ajoutez les propriétés suivantes dans l'écran Add DB Connection :
| Clé | Valeur d'exemple | Notes |
|---|---|---|
Driver | Oracle in OraDB21Home1 | Doit correspondre au nom du pilote enregistré sur l'hôte digna |
DBQ | (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db))) | La base à laquelle se connecter — voir ci-dessous |
UID | DIGNA_SOURCE_USER | Utilisateur de la base de données |
PWD | <password> | Cochez Encrypted |
La chaîne de connexion obtenue ressemble à ceci :
Driver=Oracle in OraDB21Home1;DBQ=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db)));UID=DIGNA_SOURCE_USER;PWD=<password>
La valeur de DBQ¶
DBQ accepte trois formes. Elles sont équivalentes pour digna ; elles diffèrent par ce qui doit être configuré sur l'hôte digna :
| Forme | Exemple | Nécessite |
|---|---|---|
| Descripteur de connexion complet | (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db))) | Rien — tout est dans la propriété. Recommandé |
| Alias TNS | DIGNA_SOURCE | L'alias doit exister dans le tnsnames.ora du client Oracle installé sur l'hôte digna |
| Easy Connect | db.example.com:1521/digna_source_db | Un client Oracle prenant en charge Easy Connect (12c et versions ultérieures) |
Préférez le descripteur complet
Un alias TNS déplace la moitié de la définition de la connexion dans un fichier situé sur l'hôte digna, où il est facile de l'oublier lorsque l'hôte est reconstruit ou que digna est déplacé. Le descripteur complet garde la connexion autonome — ce qui est précisément l'intérêt d'une installation sans DSN.
Notez que les parenthèses d'un descripteur ne posent pas de problème dans une chaîne de connexion, mais si votre mot de passe contient ;, encadrez-le d'accolades : PWD={p@ss;word}.
3. Configuration de digna¶
Dans l'écran Add DB Connection, renseignez les éléments suivants :
Name: Name of the connection. This is used for referencing the connection in other screens.
Technology: Oracle
Profiling Mode: Standard, Permanent or Session
Work Schema: Schema for the work tables of "Permanent" profiling, e.g. "DIGNA_WORK"
4. Notes sur Oracle¶
- Les schémas sont des utilisateurs. digna liste les utilisateurs Oracle comme schémas ; le schéma source est donc le propriétaire des tables —
DIGNA_SOURCE_USERdans l'exemple ci-dessus. L'utilisateur de la connexion a besoin deSELECTsur ces tables, directement ou via un rôle. - Une connexion voit une base de données. Le catalogue proposé par digna est la base à laquelle la connexion est rattachée ;
DBQdétermine donc quel service, et donc quelle base, est profilé. - Les identifiants sont sensibles à la casse une fois entre guillemets. digna met entre guillemets les noms qu'il lit dans le dictionnaire de données, c'est-à-dire ce que stocke Oracle — en majuscules pour les objets non mis entre guillemets.
- Modes de profilage. Permanent crée les tables de travail dans Work Schema ; l'utilisateur a donc besoin de
CREATE TABLEà cet endroit et d'un quota sur le tablespace. Session utilise une table temporaire privée (ORA$PTT_…, Oracle 18c et versions ultérieures) et ne touche pas à Work Schema. Standard ne nécessite qu'un accès en lecture.
5. Vérifier le pilote (facultatif)¶
Configurer une source de données ODBC n'est pas nécessaire pour une connexion sans DSN, mais la boîte de dialogue du pilote est un moyen pratique de confirmer que le client Oracle, le nom du service et vos identifiants fonctionnent avant de les saisir dans digna.
Étape 1¶

Le TNS Service Name proposé ici provient du tnsnames.ora de votre installation cliente Oracle — c'est là que sont définis l'alias et, avec lui, l'hôte, le port et le nom du service. Dans digna, vous pouvez utiliser l'alias comme DBQ, ou bien le descripteur complet.
Étape 2 – Tester la connexion¶
Cliquez sur le bouton Test Connection.

Indiquez le mot de passe et cliquez sur le bouton OK.

Un message de réussite confirme que le pilote et les identifiants fonctionnent.