.03 Conexiones a Bases de Datos

Skip to end of metadata
Go to start of metadata

Conexiones a Bases de Datos

Una conexión de base de datos describe el método mediante el cual Kettle se conectará a una base de datos. Se pueden crear conexiones específicas para un Trabajo o Transformación o guardarlas en el catálogo de Kettle para reutilizarlas en múltiples Transformaciones o Trabajos.

En esta sección se cubren los siguientes temas:

Crear una nueva Conexión de Base de Datos


Esta sección describe cómo crear una nueva conexión de base de datos e incluye una descripción detallada de cada propiedad de la conexión.

Para crear una nueva conexión seleccionar en el panel izquierdo "Arbol Principal", hacer clic derecho en "Conexiones a bases de datos" y seleccionar "Nuevo" o "Asistente Nueva Conexión".
También se puede hacer doble clic en "Conexiones a bases de datos", o presionar F3.

 Los siguientes apartados describen las opciones de configuración disponibles en cada pestaña del editor de conexión.

Pestaña General

La pestaña General es en donde se configura la información básica sobre la conexión, tal como nombre de la conexión, tipo, método de acceso, nombre del servidor y acceso al mismo.

Lo primero que se debe hacer es dar un nombre a la conexión ("Connection Name").
Luego debe seleccionarse en el listado "Connection Type" el tipo de base de datos que utilizaremos. De acuerdo a lo que se elija, las opciones disponibles en "Setting" y "Access" irán variando.

Una vez que se han completado los datos de "Connection Name" , "Connection Type", "Connection Access" y "Connection Setting" es recomendable presionar el botón "Probar" para verificar la correcta configuración de la conexión.

El botón "Explorar" permite navegar interactivamente en la base de datos en cuestión, visualizar tablas, vistas y datos, generar DDL, etc.

El botón "Lista de" (Lista de funciones) muestra una tabla con variables y valores relacionados a la conexión actual.

Pestaña Advanced

En esta pestaña es en donde se configura la información avanzada sobre la conexión. Las opciones disponibles son las siguientes:

  • Soporte de tipo de datos booleanos.
  • Encomillado.
  • Forzar a mayúscula.
  • Forzar a minúscula.
  • Esquema por defecto.
  • Sentencias SQL a ejecutarse luego de realizada la conexión.

Pestaña Options

Esta pestaña permite configurar opciones de bases de datos específicas para la conexión, agregando parámetros a la URL generada.

Para agregar un parámetro seguir los siguientes pasos:

  1. Seleccionar la siguiente fila en la tabla de parámetros.
  2. Ingresar un nombre de parámetro válido y su valor correspondiente. Para más información acerca de los parámetros disponibles presionar el botón "Help...".

Pestaña Pooling

Esta pestaña permite configurar la conexión para usar pooling y definir las opciones relacionadas con la misma, como el tamaño inicial de pool, tamaño máximo de pool y los parámetros de la conexión.
La siguiente tabla proporciona una descripción detallada de las opciones disponibles de esta pestaña:

Característica Descripción
Enable Connection Poolin Habilita/Deshabilita la conexión pooling.
Pool Size: Initial Configura el tamaño inicial de la conexión pool.
Pool Size: Maximum Configura la cantidad máxima de conexiones de la conexión pool.
Parameters Permite definir parámetros personalizados adicionales al pool.

Pestaña Clustering

Esta pestaña permite habilitar el clustering para la conexión a la base de datos y crear conexiones a particiones de datos.
Para crear una nueva partición de datos, ingresar un ID de partición y el nombre del host, puerto, base de datos, nombre de usuario y contraseña.

Editar una Conexión


Para editar una conexión existente, solo basta con hacer doble clic en el nombre de la conexión en el Árbol principal o clic derecho y seleccionar "Editar".

Duplicar una Conexión


Para duplicar una conexión existente, hay que hacer clic derecho en el nombre de la conexión y seleccionar "Duplicar".

Copiar a portapapeles


Esta opción permite copiar el XML que define al paso en el portapapeles. Luego se puede pegar este XML en otra transformación.
En el caso de las conexiones, hay que seleccionar la conexión deseada, hacer clic derecho sobre la misma y seleccionar "Copiar a portapapeles".

Eliminar una Conexión


Para eliminar una conexión a base de datos existente, hacer clic derecho en el nombre de la conexión en el Árbol principal y seleccionar Eliminar.

Ejecutar Comandos SQL en una Conexión


Para ejecutar comandos SQL contra una conexión existente, hacer clic derecho sobre el nombre de la conexión y seleccionar "Editor SQL".

Opción Vaciar la Caché de Base de Datos


Para obtener mayor performance al momento de generar las conexiones, Spoon utiliza una caché de base de datos. Cuando los datos de la caché ya no coinciden con la base de datos en cuestión, hacer clic derecho sobre la conexión en el Árbol Principal y seleccionar la opción 'Vaciar caché de ...'.
Este comando se usa generalmente cuando las tablas de las bases de datos han sido cambiadas, creadas o eliminadas.

Entrecomillado


Pentaho ha implementado un sistema de entrecomillado específico de base de datos que permite usar cualquier nombre o caracter aceptable por las convenciones de nomenclatura de las bases de datos soportadas.
PDI contiene una lista de palabras reservadas de la mayoría de las bases de datos soportadas.
Para asegurarse de que el entrecomillado se comporta correctamente, Pentaho ha implementado una separación estricta entre el esquema (usuario/propietario) de una tabla y el nombre de la tabla. De otro modo, hace que sea imposible entrecomillar tablas o campos con uno o más puntos en ellos correctamente.
Colocar puntos en nombres de tablas y campos es una práctica común en algunos sistemas ERP (Por ejemplo, campos como "V.A.T.").
Para evitar errores relacionados al entrecomillado, Pentaho agregó una nueva regla en la versión 2.5.0 que detiene la realización de la actividad de entrecomillado de PDI cuando hay comillas al principio o al final del nombre de tabla o esquema.
Esto le permite especificar su propio mecanismo de entrecomillado.

Nota: Contacte a Pentaho si encuentra otras formas de mejorar los algoritmos de entrecomillado.

Tabla de Bases de Datos utilizadas

Base de Datos Método de acceso Nombre del Servidor o Dirección IP Nombre de la Base de Datos Puerto (por defecto) Nombre de Usuario y Contraseña
Oracle Nativo Requerido SID Base de Datos Oracle Requerido (1521) Requerido
  ODBC   Nombre ODBC DSN   Requerido
  OCI   Nombre Base de Datos TNS   Requerido
MySQL Nativo Requerido Nombre Base de Datos MySQL Opcional (3306) Opcional
  ODBC   Nombre ODBC DSN   Opcional
AS/400 Nativo Requerido Nombre AS/400 Library Opcional Requerido
  ODBC   Nombre ODBC DSN   Requerido
MS Access ODBC   Nombre ODBC DSN   Opcional
MS SQL Server Nativo Requerido Nombre Base de Datos Requerido (1433) Requerido
  ODBC   Nombre ODBC DSN   Requerido
IBM DB2 Nativo Requerido Nombre Base de Datos Requerido (50000) Requerido
  ODBC   Nombre ODBC DSN   Requerido
PostgreSQL Nativo Requerido Nombre Base de Datos Requerido (5432) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Intersystems Caché Nativo Requerido Nombre Base de Datos Requerido (1972) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Sybase Nativo Requerido Nombre Base de Datos Requerido(5001) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Gupta SQL Base Nativo Requerido Nombre Base de Datos Requerido (2155) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Dbase III,IV o 5.0 ODBC   Nombre ODBC DSN   Opcional
Firebird SQL Nativo Requerido Nombre Base de Datos Requerido (3050) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Hypersonic Nativo Requerido Nombre Base de Datos Requerido (9001) Requerido
MaxDB (SAP DB) Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
Ingres Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
Borland Interbase Nativo Requerido Nombre Base de Datos Requerido (3050) Requerido
  ODBC   Nombre ODBC DSN   Requerido
ExtenDB Nativo Requerido Nombre Base de Datos Requerido (6453) Requerido
  ODBC   Nombre ODBC DSN   Requerido
Teradata Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
Oracle RDB Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
H2 Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
Netezza Nativo Requerido Nombre Base de Datos Requerido (5480) Requerido
  ODBC   Nombre ODBC DSN   Requerido
IBM Universe Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
SQLite Nativo Requerido Nombre Base de Datos   Requerido
  ODBC   Nombre ODBC DSN   Requerido
Apache Derby Nativo Opcional Nombre Base de Datos Opcional (1527) Opcional
  ODBC   Nombre ODBC DSN   Opcional
Generic Nativo Requerido Nombre Base de Datos Requerido (cualquiera) Requerido
  ODBC   Nombre ODBC DSN   Opcional

La conexión a bases de datos genéricas (Generic) también necesita especificar la URL y el tipo de Controlador. Pentaho también permite especificar estos campos utilizando una variable, de este modo se puede acceder a datos de múltiples tipos de bases de datos utilizando las mismas Transformaciones y Trabajos. En este caso, asegurarse de usar ANSI SQL puro, que trabaja con todos los tipos de bases de datos utilizados.

Configurar Conexiones JNDI


Si se desarrollan Transformaciones y/o Trabajos que se desplegarán en un servidor de aplicaciones como la Plataforma Pentaho corriendo sobre JBoss, Tomcat, etc, se puede configurar las conexiones a bases de datos utilizando JNDI.

Debido a que no se desea tener un servidor de aplicaciones corriendo todo el tiempo durante el desarrollo o la prueba de las Transformaciones/Trabajos, Pentaho proporciona una forma de configurar una conexión JNDI para utilizar Kettle "local".

Para configurarlo, editar el archivo de propiedades llamado "jdbc.properties", que se encuentra en: "data-integration/simple-jndi/"
Por ejemplo, para conectar a la base de datos utilizada en la Demo de la plataforma Pentaho, descargar y usar esta información en el archivo de propiedades:

SampleData/type=javax.sql.DataSource
SampleData/driver=org.hsqldb.jdbcDriver
SampleData/url=jdbc:hsqldb:hsql://localhost/sampledata
SampleData/user=pentaho_user
SampleData/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=org.hsqldb.jdbcDriver
Quartz/url=jdbc:hsqldb:hsql://localhost/quartz
Quartz/user=pentaho_user
Quartz/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=org.hsqldb.jdbcDriver
Hibernate/url=jdbc:hsqldb:hsql://localhost/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Shark/type=javax.sql.DataSource
Shark/driver=org.hsqldb.jdbcDriver
Shark/url=jdbc:hsqldb:hsql://localhost/shark
Shark/user=sa
Shark/password=

Nota: Es importante que la información almacenada en este archivo refleje el contenido de las fuentes de datos del servidor de aplicaciones.

Bases de Datos no soportadas


Contactar a Pentaho si se desea acceder a un tipo de base de datos que todavía no es posible. Unos pocos tipos de bases de datos no están soportados en esta versión debido a la falta de una muestra de la base de datos y/o el software.
En general, se puede leer desde bases de datos no soportadas utilizando el controlador de base de datos Generic a través de una conexión ODBC o JDBC.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.