Conexión Destino IBM DB2
Requisitos previos
Antes de configurar la conexión de destino IBM DB2 en Crestone, asegúrese de cumplir con los siguientes requisitos:
Requisito principal: Una instancia activa y accesible de IBM DB2 LUW (Linux/Unix/Windows) con un usuario que posea privilegios de escritura en la base de datos de destino. Las siguientes versiones están soportadas:
| Versión | Soporte |
|---|---|
| DB2 LUW 9.7 | Soportado |
| DB2 LUW 10.1 | Soportado |
| DB2 LUW 10.5 | Soportado |
| DB2 LUW 11.1 | Soportado |
| DB2 LUW 11.5 | Soportado (recomendado, probado) |
| DB2 for z/OS (mainframe) | No soportado |
| DB2 for i (AS/400 / IBM i) | No soportado |
Nota: Crestone se conecta a IBM DB2 utilizando jaydebeapi con el controlador JDBC oficial de IBM (
db2jcc4.jarversión 11.5.8.0). No se requiere 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 donde se cargarán los datos (ej. CRESTONE) |
| Username | Usuario con privilegios CREATE TABLE, INSERT, DELETE y SELECT |
| Password | Contraseña del usuario especificado |
Importante: En IBM DB2, los esquemas deben crearse explícitamente antes de su uso. A diferencia de MySQL o PostgreSQL, DB2 no crea esquemas automáticamente al insertar datos por primera vez. El esquema seleccionado en el nodo de extracción debe existir previamente en la base de datos. Contacte a su DBA para crearlo si es necesario (consulte Permisos requeridos).
Paso de verificación previa
Antes de configurar la conexión en Crestone, recomendamos verificar sus credenciales utilizando un cliente SQL compatible como DBeaver o DataGrip. Esto garantiza que el servidor sea accesible y que las credenciales sean correctas antes de proceder.
Pasos de configuración
Siga estos pasos para crear una nueva conexión de destino IBM DB2 en Crestone:
- Diríjase a Connections en la barra de navegación superior.
- Seleccione la pestaña Destination.
- Haga clic en el botón + para crear una nueva conexión.
- Complete el campo Connection Name con un nombre descriptivo (ej.
Mi Destino DB2). - En el menú desplegable Destination Type, seleccione IBM DB2.
- Complete el formulario de credenciales con los campos requeridos:
- Server — host o dirección IP de su instancia de DB2
- Port — predeterminado
50000 - Database — nombre de la base de datos DB2 donde se cargarán los datos
- Username — usuario de base de datos con privilegios de escritura
- Password — contraseña del usuario
- Haga clic en Test Connection para validar que Crestone pueda comunicarse con la base de datos exitosamente.
- Una vez aprobada la prueba, haga clic en Create Destination para guardar la conexión.
Edición de una conexión existente
Para actualizar las credenciales de una conexión de destino IBM DB2 existente:
- Diríjase a Connections y localice su destino 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 destino en un nodo de extracción
Una vez creada la conexión, puede utilizarla como destino en un nodo de extracción (Extraction Node):
- Abra o cree un Extraction Node y diríjase a la pestaña Destination.
- En Select Destinations, elija su conexión IBM DB2.
- En Select Schema, elija un esquema existente de la lista.
- En Select Table, elija una tabla existente o seleccione Create new table para que Crestone la cree automáticamente según la estructura de datos de origen.
- Opcionalmente, habilite Prefers to delete existing data and then insert new data si desea truncar la tabla antes de cada carga.
- Continúe a la pestaña Settings y guarde el nodo.
Nota sobre esquemas: La lista de esquemas muestra todos los esquemas que no son del sistema definidos en la base de datos DB2 conectada (
SYSCAT.SCHEMATA, excluyendoSYS%,NULLID,SQLJ,DB2GSE,SYSTOOLS). Si el esquema requerido no aparece en la lista, solicite a su DBA que lo cree (consulte Permisos requeridos).
Nota: Al seleccionar Create new table, Crestone infiere automáticamente los tipos de columna a partir de los datos de origen y ejecuta una sentencia
CREATE TABLEantes de insertar registros. Los nombres de columnas del origen se sanean para convertirse en identificadores válidos de DB2 (alfanuméricos y guion bajo únicamente, en mayúsculas). El mapeo de tipos aplicado es:
Tipo de origen Polars Tipo DB2 creado Int8,Int16SMALLINTInt32INTEGERInt64BIGINTFloat32REALFloat64DOUBLEBooleanSMALLINTDateDATEDatetimeTIMESTAMPStringy otrosVARCHAR(512)
Saneamiento de nombres de columnas
IBM DB2 tiene reglas estrictas para identificadores. Crestone sanea automáticamente los nombres de columna del origen antes de crear tablas o insertar datos en DB2:
- Todos los caracteres no alfanuméricos (espacios,
/,-,., etc.) se reemplazan por_ - Los guiones bajos o dígitos iniciales se eliminan o se prefijan con
C_ - Todos los nombres se convierten a mayúsculas
- Los nombres duplicados tras el saneamiento se desambiguan con un sufijo numérico (ej.
NAME_1,NAME_2)
Por ejemplo:
| Nombre de columna origen | Nombre de columna DB2 |
|---|---|
/BIC/MY_FIELD | BIC_MY_FIELD |
Sales Amount | SALES_AMOUNT |
2024_value | C_2024_VALUE |
Total/Net | TOTAL_NET |
Nota: Los nombres de columna saneados son los que aparecerán en la tabla de DB2. Si realiza uniones (joins) de esta tabla con otros sistemas, asegúrese de referenciar los nombres saneados.
Problemas comunes
| Problema | Causa posible | Solución |
|---|---|---|
| Tiempo de espera agotado (Connection timeout) | Firewall bloqueando el puerto 50000 | Permita conexiones entrantes en el puerto 50000 desde la IP del servidor Crestone |
Connection refused | Servidor DB2 no iniciado o puerto incorrecto | Verifique con su DBA que DB2 esté activo y que el puerto sea el correcto |
| Error de autenticación | Usuario o contraseña incorrectos | Verifique las credenciales utilizando DBeaver o DataGrip |
| No se listan esquemas | No hay esquemas de usuario en SYSCAT.SCHEMATA | Cree al menos un esquema explícitamente (consulte Permisos requeridos) |
SQL0204N — esquema no encontrado | El esquema no existe en la base de datos | Cree el esquema explícitamente antes de utilizarlo como destino (consulte Permisos requeridos) |
SQL0551N — privilegios insuficientes | El usuario carece de CREATE TABLE o INSERT | Otorgue los privilegios requeridos (consulte Permisos requeridos) |
SQL0803N — clave duplicada | La tabla ya tiene una restricción única y los datos entran en conflicto | Deshabilite o elimine la restricción única, o habilite la opción de borrar antes de insertar |
| Datos cargados pero los nombres difieren del origen | Se aplicó saneamiento de nombres de columna | Comportamiento esperado — consulte la sección Saneamiento de nombres de columnas |
Permisos requeridos
El usuario de base de datos configurado en Crestone requiere como mínimo los siguientes privilegios para cargar datos como destino:
-- Otorgar privilegio CONNECT en la base de datos
GRANT CONNECT ON DATABASE TO USER crestone_user;
-- Otorgar CREATETAB para permitir al usuario crear tablas en su propio esquema
GRANT CREATETAB ON DATABASE TO USER crestone_user;
-- Otorgar INSERT, SELECT, DELETE en tablas existentes
GRANT INSERT, SELECT, DELETE ON TABLE schema_name.table_name TO USER crestone_user;Nota: Un usuario de DB2 solo puede crear tablas dentro de un esquema del cual sea propietario o sobre el cual se le haya otorgado el permiso
CREATEIN. Por defecto, un usuario puede crear tablas en un esquema con el mismo nombre que su usuario (ej. el usuariocrestone_userpuede crear tablas en el esquemaCRESTONE_USER).
Importante: Crestone no crea esquemas automáticamente. El esquema seleccionado en el nodo de extracción debe existir previamente en la base de datos. Solicite a su DBA ejecutar:
sql-- Crear un esquema y asignarlo a un usuario CREATE SCHEMA schema_name AUTHORIZATION user_name; -- Ejemplo: crear esquema DB2INST1 propiedad del usuario db2inst1 CREATE SCHEMA DB2INST1 AUTHORIZATION DB2INST1;Para permitir que otro usuario cree tablas dentro de un esquema existente:
sqlGRANT CREATEIN ON SCHEMA schema_name TO USER crestone_user; GRANT ALTERIN ON SCHEMA schema_name TO USER crestone_user; GRANT DROPIN ON SCHEMA schema_name TO USER crestone_user;
Contenidos de esta sección
Azure SQL Server
Load data into Azure SQL Database.
MS SQL Server
Load data into Microsoft SQL Server.
PostgreSQL Destination Connection
Load data into PostgreSQL databases.
Oracle Destination Connection
Load data into Oracle Database instances.
MySQL Destination Connection
Load data into MySQL destination databases.