Controladores

Controlador DB2 for i (AS/400)

Esta documentación explica la implementación del controlador DB2 for i y cómo los parámetros de conexión se corresponden con los campos de la interfaz de usuario en la aplicación Gigantic.

Parámetros de Conexión

Campo UIImplementación TécnicaDescripciónRequeridoValor por Defecto
Hosthost en la cadena de conexión odbcEl nombre de host o dirección IP del servidor DB2 for ilocalhost
PuertoParte de la cadena de conexión en la configuración odbcEl número de puerto en el que escucha el servidor DB2 for i50000 (de driverPorts)
Base de DatosParte de la cadena de conexión en la configuración odbcEl nombre de la base de datos/librería a la que conectarseNoNinguno (por defecto a la librería del usuario)
EsquemadbSchema en la configuración gigadbEl esquema/librería a usar para consultas y extracción de metadatosNinguno (debe ser especificado)
Nombre de Usuariouser en la configuración de conexión odbcUsuario de base de datos para autenticaciónNinguno (debe ser especificado)
Contraseñapassword en la configuración de conexión odbcContraseña para el usuario de base de datosNinguno (debe ser especificado)

Detalles Técnicos

La implementación del controlador DB2 for i utiliza la biblioteca Node.js odbc con funcionalidad de envoltura personalizada para conexiones IBM iSeries.

Aspectos técnicos clave:

  • El agrupamiento de conexiones se soporta mediante la bandera pooled en la configuración
  • Utiliza el IBM i Access ODBC Driver para conectividad
  • La selección de esquema/librería es crítica y afecta a toda la generación de consultas
  • El controlador utiliza tablas del sistema QSYS2 para la extracción de metadatos (SYSTABLES, SYSCOLUMNS2, SYSINDEXES)
  • La gestión de restricciones se implementa usando procedimientos del sistema como QSYS2.CREATE_CONSTRAINT_INFO
  • Se soportan capacidades de registro (journaling) y bloqueo específicas de IBM i

Cuando el túnel SSH está habilitado, las conexiones se establecen primero a través del túnel antes de conectarse al servidor DB2 for i.

Formato de Cadena de Conexión

Las conexiones DB2 for i se construyen usando cadenas de conexión ODBC con el IBM i Access ODBC Driver:

DRIVER=IBM i Access ODBC Driver;SYSTEM=[host];PORT=[port];UID=[user];PWD=[password];

Se pueden especificar parámetros adicionales de conexión ODBC a través de opciones de configuración.

Opciones de Autenticación

DB2 for i soporta varios tipos de autenticación:

Tipo de AutenticaciónMapeo UIDescripción
NingunaNo aplicable para DB2iDB2i siempre requiere autenticación
ContraseñaCampos de usuario/contraseñaAutenticación estándar usuario/contraseña
Gestor de ContraseñasVarios campos de gestores de contraseñasObtiene credenciales de gestores de contraseñas externos

Soporte de Túnel SSH

El controlador DB2 for i soporta túneles SSH para acceso seguro a bases de datos detrás de firewalls o en redes privadas. Para información detallada sobre la configuración de túneles SSH, por favor consulte la documentación de Túneles SSH.

Endpoints de API Utilizados

Las conexiones DB2 for i se utilizan principalmente en:

  • Creación de Tap (descubrimiento de fuente de datos)
  • Creación de Sink (destino de datos para datos anonimizados)
  • Ejecución de Pipeline (extracción y carga de datos)

Parámetros Personalizados

El controlador DB2 for i soporta parámetros personalizados adicionales que pueden especificarse en formato YAML para ajustar finamente el comportamiento de conexión, agrupamiento y otras opciones avanzadas.

Parámetros de Conexión ODBC

# Parámetros básicos de conexión
# Comportamiento de Conexión
CONNTYPE: 1  # Tipo de conexión: 0=Por defecto, 1=Primaria, 2=Secundaria
SORTTYPE: 2  # Tipo de ordenación: 0=Sistema, 1=Hex, 2=Tabla
SORTWEIGHT: 1  # Peso de ordenación: 0=Insensible a mayúsculas, 1=Sensible a mayúsculas
LANGUAGEID: "ENU"  # ID de idioma para soporte de idioma nacional
 
# Opciones de Rendimiento
MAXBUFLEN: 32767  # Longitud máxima del buffer para datos de columna
LOBThreshold: 32767  # Umbral para manejo de datos LOB
BLOCKING: 100  # Número de filas a obtener por petición
 
# Opciones de Seguridad
ALLOWNULL: false  # Permitir valores NULL en conjuntos de resultados
DEBUG: false  # Habilitar modo de depuración para conexión
SECURITY: "SSL"  # Protocolo de seguridad (SSL, TLS, etc.)
 
# Configuración de Tiempos de Espera
loginTimeout: 30  # Tiempo de espera de inicio de sesión en segundos
queryTimeout: 60  # Tiempo de espera de consulta en segundos
connectionTimeout: 30  # Tiempo de espera para establecimiento de conexión

Parámetros de Agrupamiento de Conexiones

# Configuración del agrupamiento
pooled: true
poolMin: 0
poolMax: 10
poolIncrement: 1
poolTimeout: 60  # Tiempo de espera del agrupamiento en segundos

Ejemplos de Configuraciones

Configuración Básica

pooled: true
CONNTYPE: 1

Configuración SSL

SECURITY: "SSL"
ValidateServerCertificate: true

Configuración Avanzada con Optimización de Rendimiento

CONNTYPE: 1
SORTTYPE: 2
BLOCKING: 500
LOBThreshold: 65536
queryTimeout: 300
pooled: true
poolMax: 20