Oracle
 sql >> Base de données >  >> RDS >> Oracle

Connexion à la base de données Oracle 12c à partir de Pentaho Data Integration (Kettle) Community Edition

Présentation

Les outils Pentaho Data Integration (DI) (également connus sous le nom de Kettle) contiennent un assortiment puissant d'outils de filtrage et de transformation de données qui peuvent être utilisés pour effectuer des processus d'extraction, de transformation et de chargement. Pentaho DI Community Edition est livré avec une collection de pilotes de base de données qui peuvent accéder à de nombreux systèmes de base de données différents en tant que source de données (entrée) ou cible (sortie). Cependant, l'édition communautaire peut ne pas être livrée avec des pilotes pour la base de données Oracle. Les notes suivantes supposent que Pentaho DI (bouilloire) a été installé conformément à ces notes d'installation Pentaho DI.

Installation des pilotes Oracle JDBC

Pour utiliser les sources de données Oracle avec Pentaho DI, vous devez d'abord vous assurer que les pilotes Oracle JDBC sont installés. Sinon, obtenez-les auprès d'Oracle et installez-les dans le dossier lib pour Pentaho DI.

Les pilotes Oracle JDBC sont livrés avec chaque installation d'Oracle Server et peuvent être trouvés dans le \jdbc dossier du home Oracle. Si vous n'avez pas accès au serveur Oracle, vous pouvez télécharger les derniers pilotes à partir du site Web JDBC d'Oracle. Assurez-vous de télécharger les pilotes JDBC correspondant à la version de Java Runtime Environment (JRE) que vous utilisez.

Copiez les pilotes Oracle JDBC dans le dossier Pentaho\data-integration\lib. Lors de l'exécution de Pentaho DI avec Java7, utilisez les versions Java 7 des pilotes JDBC comme indiqué dans la figure ci-dessous :

Ajout de la prise en charge des portefeuilles Oracle

Si vous avez l'intention de vous connecter à une base de données Oracle sécurisée telle qu'une base de données autonome dans Oracle Cloud (comme dans cet exemple), assurez-vous également de télécharger et de copier les fichiers de support JDBC, notamment (pour la version 8 de JDK) :

ojdbc8.jar
oraclepki.jar
osdt_cert.jar
osdt_core.jar

IMPORTANT :Assurez-vous de redémarrer Pentaho Data Integration après avoir copié le nouveau jar fichiers dans la lib dossier.

Les instructions pour configurer une nouvelle connexion à Oracle à partir de PDI sont données à la page suivante.

Exécuter Pentaho DI et créer une transformation de sortie de table

Exécutez Spoon et créez une nouvelle transformation pour une sortie de table

Obtenez les propriétés de la sortie du tableau comme indiqué ci-dessous :

Pour la connexion, cliquez sur le bouton Nouveau… pour créer une nouvelle connexion.

Donnez un nom à votre nouvelle connexion à la base de données, puis sélectionnez Oracle comme type de connexion. Choisissez JDBC (natif) comme type d'accès.

Remplissez le nom d'hôte ou l'adresse IP du serveur exécutant actuellement Oracle. Si vous exécutez Oracle sur votre propre ordinateur local, utilisez l'adresse IP localhost 127.0.0.1. Définissez le numéro de port sur lequel le programme d'écoute de la base de données Oracle est exécuté. Par défaut, il s'agit du port 1521.

Remplissez le nom de la base de données en fonction de votre nom de service Oracle ou de votre SID. Si votre base de données Oracle 12c est configurée avec des bases de données enfichables, utilisez une barre oblique suivie du nom de la base de données enfichable (pdb1 dans l'exemple ci-dessous).

Fournissez le nom d'utilisateur et le mot de passe du compte Oracle pour la connexion. Si les champs Tablespace for Data et Tablespace for Index sont laissés vides, les tablespaces par défaut du schéma seront utilisés. Si vous souhaitez les modifier, saisissez les noms des espaces de table en fonction des invites.

Une fois terminé, cliquez sur le bouton Tester pour tester la connexion.

Messages d'erreur courants

Si le test échoue, vérifiez les messages d'erreur. Par exemple :

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: invalid username/password; logon denied

Vérifiez le nom d'utilisateur et le mot de passe

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

Vérifiez le nom de la base de données (nom du service Oracle, SID ou nom de la base de données enfichable)

Error connecting to database [Oracle12cDatabase] : org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
IO Error: The Network Adapter could not establish the connection

Vérifiez le nom d'hôte et/ou le numéro de port.

ORA-28000, Account Locked

Assurez-vous que le compte Oracle est déverrouillé et que le mot de passe est à jour. Dans certains cas, si le mot de passe est en "période de grâce", Pentaho peut toujours interpréter cela comme "compte verrouillé". Votre administrateur de base de données devra peut-être déverrouiller manuellement votre compte (ALTER USER xyz ACCOUNT UNLOCK ; ) ou réinitialisez votre mot de passe.

Une fois le test réussi, cliquez sur le bouton OK et la connexion à la base de données sera enregistrée dans la transformation Table Output. Assurez-vous que le schéma cible correspond au nom d'utilisateur et/ou au schéma prévu pour l'opération de sortie (ou d'entrée) de données.