sql >> Base de Datos >  >> RDS >> Oracle

Conexión a la base de datos Oracle 12c desde Pentaho Data Integration (Kettle) Community Edition

Introducción

Las herramientas de integración de datos (DI) de Pentaho (también conocidas como Kettle) contienen una poderosa variedad de herramientas de filtrado y transformación de datos que se pueden usar para llevar a cabo procesos de extracción, transformación y carga. Pentaho DI Community Edition viene con una colección de controladores de bases de datos que pueden acceder a muchos sistemas de bases de datos diferentes como fuente de datos (entrada) o destino (salida). Sin embargo, es posible que la edición comunitaria no se envíe con controladores para la base de datos de Oracle. Las siguientes notas asumen que Pentaho DI (hervidor) se ha instalado de acuerdo con estas Notas de instalación de Pentaho DI.

Instalación de controladores JDBC de Oracle

Para usar fuentes de datos de Oracle con Pentaho DI, primero debe asegurarse de que los controladores JDBC de Oracle estén instalados. Si no, obténgalos de Oracle e instálelos en la carpeta lib para Pentaho DI.

Los controladores Oracle JDBC se envían con cada instalación de Oracle Server y se pueden encontrar en \jdbc carpeta de la casa de Oracle. Si no tiene acceso al servidor Oracle, puede descargar los controladores más recientes del sitio web JDBC de Oracle. Asegúrese de descargar los controladores JDBC que coincidan con la versión de Java Runtime Environment (JRE) que está ejecutando.

Copie los controladores JDBC de Oracle en la carpeta Pentaho\data-integration\lib. Cuando ejecute Pentaho DI con Java7, use las versiones de Java 7 de los controladores JDBC como se muestra en la siguiente figura:

Adición de soporte para monederos de Oracle

Si tiene la intención de conectarse a una base de datos segura de Oracle, como una base de datos autónoma en Oracle Cloud (como en este ejemplo), asegúrese de descargar y copiar también los archivos de soporte de JDBC, incluidos (para la versión 8 de JDK):

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

IMPORTANTE:asegúrese de reiniciar Pentaho Data Integration después de copiar el nuevo jar archivos a la lib carpeta.

Las instrucciones para configurar una nueva conexión a Oracle desde PDI se proporcionan en la página siguiente.

Ejecución de Pentaho DI y creación de una transformación de salida de tabla

Ejecute Spoon y cree una nueva transformación para una salida de tabla

Obtenga las propiedades de la salida de la tabla como se muestra a continuación:

Para la conexión, haga clic en el botón Nuevo... para crear una nueva conexión.

Asigne un nombre a su nueva conexión de base de datos y luego seleccione Oracle como Tipo de conexión. Elija JDBC (Nativo) como tipo de acceso.

Complete el nombre de host o la dirección IP del servidor que actualmente ejecuta Oracle. Si está ejecutando Oracle en su propia computadora local, use la dirección IP localhost 127.0.0.1. Establezca el número de puerto en el que se ejecuta el escucha de la base de datos de Oracle. Por defecto, este es el puerto 1521.

Complete el nombre de la base de datos de acuerdo con su nombre de servicio de Oracle o SID. Si su base de datos Oracle 12c está configurada con bases de datos conectables, use una barra inclinada seguida del nombre de la base de datos conectable (pdb1 en el ejemplo a continuación).

Proporcione el nombre de usuario y la contraseña de la cuenta de Oracle para la conexión. Si los campos Espacio de tabla para datos y Espacio de tabla para índice se dejan en blanco, se utilizarán los espacios de tabla predeterminados para el esquema. Si desea cambiarlos, escriba los nombres de los espacios de tabla de acuerdo con las indicaciones.

Cuando haya terminado, haga clic en el botón Probar para probar la conexión.

Mensajes de error comunes

Si la prueba falla, verifique los mensajes de error. Por ejemplo:

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

Verifique el nombre de usuario y la contraseña

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

Compruebe el nombre de la base de datos (nombre del servicio de Oracle, SID o nombre de la base de datos conectable)

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

Compruebe el nombre de host y/o el número de puerto.

ORA-28000, Account Locked

Asegúrese de que la cuenta de Oracle esté desbloqueada y que la contraseña sea actual. En algunos casos, si la contraseña está en "período de gracia", Pentaho aún puede interpretar esto como "cuenta bloqueada". Es posible que el administrador de su base de datos deba desbloquear manualmente su cuenta (ALTER USER xyz ACCOUNT UNLOCK; ) o restablecer su contraseña.

Una vez que la prueba sea exitosa, haga clic en el botón Aceptar y la conexión de la base de datos se guardará en la transformación de salida de la tabla. Asegúrese de que el esquema de destino coincida con el nombre de usuario y/o el esquema previsto para la operación de salida (o entrada) de datos.