.03 Conexiones a Bases de Datos

Unknown macro: {scrollbar}

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.