Conexión Destino IBM DB2

Relational databases|15 min de lectura|Actualizado: 18 sept 2026

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ónSoporte
DB2 LUW 9.7Soportado
DB2 LUW 10.1Soportado
DB2 LUW 10.5Soportado
DB2 LUW 11.1Soportado
DB2 LUW 11.5Soportado (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.jar versió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:

CampoDescripción
Server / HostDirección IP o nombre de host del servidor DB2 (ej. 192.168.1.100 o db2.example.com)
PortPuerto TCP donde escucha DB2. El valor predeterminado es 50000.
DatabaseNombre de la base de datos DB2 donde se cargarán los datos (ej. CRESTONE)
UsernameUsuario con privilegios CREATE TABLE, INSERT, DELETE y SELECT
PasswordContraseñ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:

  1. Diríjase a Connections en la barra de navegación superior.
  2. Seleccione la pestaña Destination.
  3. Haga clic en el botón + para crear una nueva conexión.
  4. Complete el campo Connection Name con un nombre descriptivo (ej. Mi Destino DB2).
  5. En el menú desplegable Destination Type, seleccione IBM DB2.
  6. 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
  7. Haga clic en Test Connection para validar que Crestone pueda comunicarse con la base de datos exitosamente.
  8. 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:

  1. Diríjase a Connections y localice su destino IBM DB2.
  2. Haga clic en Edit.
  3. Modifique los campos deseados en el formulario de credenciales.
  4. Haga clic en Test Connection para verificar las nuevas credenciales.
  5. 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):

  1. Abra o cree un Extraction Node y diríjase a la pestaña Destination.
  2. En Select Destinations, elija su conexión IBM DB2.
  3. En Select Schema, elija un esquema existente de la lista.
  4. 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.
  5. Opcionalmente, habilite Prefers to delete existing data and then insert new data si desea truncar la tabla antes de cada carga.
  6. 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, excluyendo SYS%, 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 TABLE antes 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 PolarsTipo DB2 creado
Int8, Int16SMALLINT
Int32INTEGER
Int64BIGINT
Float32REAL
Float64DOUBLE
BooleanSMALLINT
DateDATE
DatetimeTIMESTAMP
String y 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 origenNombre de columna DB2
/BIC/MY_FIELDBIC_MY_FIELD
Sales AmountSALES_AMOUNT
2024_valueC_2024_VALUE
Total/NetTOTAL_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

ProblemaCausa posibleSolución
Tiempo de espera agotado (Connection timeout)Firewall bloqueando el puerto 50000Permita conexiones entrantes en el puerto 50000 desde la IP del servidor Crestone
Connection refusedServidor DB2 no iniciado o puerto incorrectoVerifique con su DBA que DB2 esté activo y que el puerto sea el correcto
Error de autenticaciónUsuario o contraseña incorrectosVerifique las credenciales utilizando DBeaver o DataGrip
No se listan esquemasNo hay esquemas de usuario en SYSCAT.SCHEMATACree al menos un esquema explícitamente (consulte Permisos requeridos)
SQL0204N — esquema no encontradoEl esquema no existe en la base de datosCree el esquema explícitamente antes de utilizarlo como destino (consulte Permisos requeridos)
SQL0551N — privilegios insuficientesEl usuario carece de CREATE TABLE o INSERTOtorgue los privilegios requeridos (consulte Permisos requeridos)
SQL0803N — clave duplicadaLa tabla ya tiene una restricción única y los datos entran en conflictoDeshabilite o elimine la restricción única, o habilite la opción de borrar antes de insertar
Datos cargados pero los nombres difieren del origenSe aplicó saneamiento de nombres de columnaComportamiento 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:

sql
-- 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 usuario crestone_user puede crear tablas en el esquema CRESTONE_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:

sql
GRANT 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;