Conexión Fuente IBM DB2
Requisitos Previos
Antes de configurar la conexión de origen IBM DB2 en Crestone, asegúrese de contar con lo siguiente:
Requisito Principal: Una instancia activa y accesible de IBM DB2 LUW (Linux/Unix/Windows) con un usuario que posea privilegios de lectura en la base de datos de destino. Las siguientes versiones son compatibles:
| Versión | Compatibilidad |
|---|---|
| DB2 LUW 9.7 | Compatible |
| DB2 LUW 10.1 | Compatible |
| DB2 LUW 10.5 | Compatible |
| DB2 LUW 11.1 | Compatible |
| DB2 LUW 11.5 | Compatible (recomendado, probado) |
| DB2 para z/OS (mainframe) | No compatible |
| DB2 para i (AS/400 / IBM i) | No compatible |
Nota: Crestone se conecta a IBM DB2 mediante jaydebeapi con el controlador IBM JDBC (
db2jcc4.jarversión 11.5.8.0). No se requiere ningún software cliente de DB2 ni IBM Data Server Client en el servidor de Crestone.
Información Requerida:
| Campo | Descripción |
|---|---|
| Server / Host | Dirección IP o nombre de host del servidor DB2 (ej. 192.168.1.100 o db2.example.com) |
| Port | Puerto TCP donde escucha DB2. El valor predeterminado es 50000. |
| Database | Nombre de la base de datos DB2 a la que conectarse (ej. CRESTONE) |
| Username | Usuario con privilegios de lectura sobre las tablas que desea extraer |
| Password | Contraseña del usuario especificado |
Paso de Pre-Verificación
Antes de configurar la conexión en Crestone, recomendamos verificar sus credenciales utilizando un cliente SQL compatible como DBeaver o DataGrip. Esto asegura que el servidor sea accesible y que las credenciales sean correctas antes de continuar.
Consejo para DBeaver: Para conectarse a IBM DB2 desde DBeaver, seleccione IBM DB2 como el tipo de controlador y elija la variante DB2 LUW. Utilice el mismo host, puerto (50000), nombre de base de datos, usuario y contraseña que ingresará en Crestone.
Pasos de Configuración
Siga estos pasos para crear una nueva conexión de origen IBM DB2 en Crestone:
- Navegue a Connections en la barra de navegación superior.
- Seleccione la pestaña Source.
- Haga clic en el botón + para crear una nueva conexión.
- Complete el campo Connection Name con un nombre descriptivo (ej.
Mi Fuente DB2). - En el menú desplegable Source Type, seleccione IBM DB2.
- Complete el formulario de credenciales con los campos requeridos:
- Server — host o dirección IP de su instancia DB2
- Port — predeterminado
50000 - Database — nombre de la base de datos DB2 a la que conectarse
- Username — usuario de la base de datos
- Password — contraseña del usuario
- Haga clic en Test Connection para validar que Crestone pueda comunicarse exitosamente con la base de datos.
- Una vez superada la prueba, haga clic en Create Source para guardar la conexión.
Edición de una Conexión Existente
Para actualizar las credenciales de una conexión de origen IBM DB2 existente:
- Navegue a Connections y localice su origen IBM DB2.
- Haga clic en Edit.
- Modifique los campos deseados en el formulario de credenciales.
- Haga clic en Test Connection para verificar las nuevas credenciales.
- Haga clic en Confirm para guardar los cambios.
Uso de IBM DB2 como Fuente en un Nodo de Extracción
Una vez creada la conexión, puede utilizarla como origen de un Extraction Node. Hay dos modos de extracción disponibles:
Modo Visual
Configure la extracción sin necesidad de escribir código SQL:
- Abra o cree un Extraction Node y diríjase a la pestaña Source.
- En Select Source, elija su conexión IBM DB2.
- En Select Schema, elija el esquema que contiene las tablas que desea extraer.
- En Select Table, elija la tabla a extraer.
- En Select Fields, seleccione las columnas específicas que desea, o déjelo vacío para extraer todas las columnas.
- Opcionalmente, agregue una condición WHERE para filtrar filas.
- El panel de Preview muestra una muestra de los datos que se extraerán.
Modo SQL Script
Escriba una consulta SQL personalizada para extracciones más complejas:
- Seleccione la fuente y el esquema como en el Modo Visual.
- Cambie al modo SQL Script.
- Escriba su consulta SQL utilizando la sintaxis estándar de DB2 SQL.
- Haga clic en Run Preview para validar y previsualizar los resultados de la consulta.
Nota: El modo SQL Script admite cualquier sentencia
SELECTválida de DB2, incluyendoJOIN, subconsultas, funciones de agregación yGROUP BY. Evite sentencias DDL (CREATE,DROP,ALTER) en este campo.
Nota sobre límite de filas: DB2 utiliza la sintaxis
FETCH FIRST n ROWS ONLY(noLIMITniTOP). Crestone gestiona esto automáticamente en el Modo Visual. Si redacta un SQL Script personalizado, use la misma sintaxis:SELECT * FROM schema.table FETCH FIRST 100 ROWS ONLY.
Nota sobre esquemas: En IBM DB2, los esquemas son espacios de nombres lógicos que agrupan objetos de base de datos. Un esquema se identifica por su nombre (ej.
DB2INST1,CRESTONE). Crestone lista todos los esquemas visibles enSYSCAT.SCHEMATA, excluyendo los esquemas del sistema (SYS%,NULLID,SQLJ,DB2GSE,SYSTOOLS).
Manejo de Tipos de Datos
Cuando Crestone lee datos de IBM DB2, los tipos de columna se devuelven a través del cursor JDBC y se asignan internamente a tipos Polars:
| Tipo DB2 | Tipo Polars |
|---|---|
SMALLINT | Int64 |
INTEGER, INT | Int64 |
BIGINT | Int64 |
REAL | Float64 |
DOUBLE, FLOAT | Float64 |
DECIMAL, NUMERIC | String (cast) |
CHAR, VARCHAR, CLOB | String |
DATE | String (cast) |
TIME | String (cast) |
TIMESTAMP | String (cast) |
| Otro / desconocido | String (cast) |
Nota: Los tipos de Python no estándar devueltos por el puente JDBC (ej.
java.math.BigDecimal,java.sql.Timestamp) se convierten automáticamente a string para garantizar la compatibilidad entre todos los conectores de destino.
Problemas Frecuentes
| Problema | Causa Posible | Solución |
|---|---|---|
| Tiempo de espera agotado en la conexión | Firewall bloqueando el puerto 50000 | Permita conexiones entrantes en el puerto 50000 desde la IP del servidor de Crestone |
Connection refused | El servidor DB2 no está en ejecución o el puerto es incorrecto | Verifique que DB2 esté activo y que el puerto sea correcto con su DBA |
| Fallo de autenticación | Nombre de usuario o contraseña incorrectos | Verifique las credenciales utilizando DBeaver o DataGrip |
| No se listan esquemas | No existen esquemas de usuario en SYSCAT.SCHEMATA | Al menos un esquema debe haberse creado explícitamente (consulte Permisos Requeridos) |
| No se listan tablas para un esquema | El esquema existe pero no contiene tablas | Cree tablas en el esquema o seleccione un esquema diferente |
| La vista previa no muestra datos | La tabla está vacía o la condición WHERE filtra todas las filas | Verifique la existencia de datos utilizando un cliente SQL |
SQL0204N — objeto no encontrado | Nombre de esquema o tabla incorrecto (los identificadores DB2 distinguen mayúsculas/minúsculas en el catálogo) | Utilice nombres de esquemas y tablas en mayúsculas, ya que DB2 almacena los identificadores no entrecomillados en mayúsculas |
Permisos Requeridos
Para acceso de solo lectura (extracción de origen), el usuario de base de datos requiere como mínimo los siguientes privilegios:
-- Conceder privilegio CONNECT en la base de datos
GRANT CONNECT ON DATABASE TO USER crestone_user;
-- Conceder SELECT en tablas específicas
GRANT SELECT ON TABLE schema_name.table_name TO USER crestone_user;
-- O conceder SELECT en todas las tablas de un esquema (requiere SCHEMAADM o DBADM)
GRANT SELECT ON TABLE schema_name.* TO USER crestone_user;Nota: Para listar esquemas y tablas en la interfaz de descubrimiento de esquemas, Crestone consulta
SYSCAT.SCHEMATAySYSCAT.TABLES. Estas vistas de catálogo son legibles de manera predeterminada por cualquier usuario autenticado con privilegioCONNECTen DB2.