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 UI | Implementación Técnica | Descripción | Requerido | Valor por Defecto |
|---|---|---|---|---|
| Host | host en la cadena de conexión odbc | El nombre de host o dirección IP del servidor DB2 for i | Sí | localhost |
| Puerto | Parte de la cadena de conexión en la configuración odbc | El número de puerto en el que escucha el servidor DB2 for i | Sí | 50000 (de driverPorts) |
| Base de Datos | Parte de la cadena de conexión en la configuración odbc | El nombre de la base de datos/librería a la que conectarse | No | Ninguno (por defecto a la librería del usuario) |
| Esquema | dbSchema en la configuración gigadb | El esquema/librería a usar para consultas y extracción de metadatos | Sí | Ninguno (debe ser especificado) |
| Nombre de Usuario | user en la configuración de conexión odbc | Usuario de base de datos para autenticación | Sí | Ninguno (debe ser especificado) |
| Contraseña | password en la configuración de conexión odbc | Contraseña para el usuario de base de datos | Sí | Ninguno (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
pooleden 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ón | Mapeo UI | Descripción |
|---|---|---|
| Ninguna | No aplicable para DB2i | DB2i siempre requiere autenticación |
| Contraseña | Campos de usuario/contraseña | Autenticación estándar usuario/contraseña |
| Gestor de Contraseñas | Varios campos de gestores de contraseñas | Obtiene 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ónPará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 segundosEjemplos de Configuraciones
Configuración Básica
pooled: true
CONNTYPE: 1Configuración SSL
SECURITY: "SSL"
ValidateServerCertificate: trueConfiguración Avanzada con Optimización de Rendimiento
CONNTYPE: 1
SORTTYPE: 2
BLOCKING: 500
LOBThreshold: 65536
queryTimeout: 300
pooled: true
poolMax: 20