DSEDataSourceExplorer
DSE 1.0.1

Sistemas mainframe e IBM

Esta guía cubre el grupo Mainframe de Data Source Explorer (DSE):

Nota de terminología: IBM i se ejecuta sobre IBM Power y no sobre IBM Z. DSE lo agrupa con las fuentes mainframe/legacy para administrar de manera coherente el entorno de datos heredados.

Fuentes Mainframe en DSE

1. Arquitectura

DSE no emula protocolos nativos de mainframe. Utiliza capas de acceso empresariales:

Fuente Transporte Requisito externo
IBM i / AS400 ODBC IBM i Access ODBC Driver de 64 bits, red, usuario IBM i
IBM z/OS Db2 ODBC IBM Data Server Driver for ODBC/CLI 64 bits, Db2 Connect, DRDA
VSAM ODBC/REST middleware/virtualización o adaptador
IMS REST/ODBC capa API/servicio o virtualización
CICS REST/ODBC gateway API/capa de servicios

Flujo recomendado: configurar el host/adaptador, probar fuera de DSE, seleccionar el tipo correcto en Mainframe, guardar la cadena, ejecutar Test connection, cargar objetos y validar Table info, Preview, Row details y una consulta de ejemplo.

2. Seguridad

IBM i / AS400 — configuración completa

3. Requisitos IBM i

Necesita IBM i activo y accesible, TCP/IP, un usuario normal como DSELAB, host servers activos, Windows de 64 bits con IBM i Access ODBC y una biblioteca/tabla legible. Puede ser un sistema local o Power Virtual Server.

Laboratorio de referencia opcional: IBM Power Virtual Server (PowerVS)

Si no dispone de una partición IBM i existente, puede usar un Power Virtual Server (PowerVS) con IBM i como laboratorio de validación del conector. PowerVS es opcional; DSE no depende específicamente de IBM Cloud.

Secuencia recomendada:

  1. En IBM Cloud, cree o seleccione un workspace de Power Virtual Server en una región aprobada por su organización.
  2. Cree una instancia de servidor virtual desde una imagen IBM i permitida por su licencia/derecho de uso y por el plan de pruebas.
  3. Asigne CPU, memoria y almacenamiento suficientes para completar IPL y ejecutar de forma estable los servicios host de Db2 for i. Para validar el conector no hace falta tamaño de producción.
  4. Conecte la partición a una red privada. Añada conectividad pública sólo si la arquitectura lo necesita y limite el acceso de entrada a direcciones aprobadas.
  5. Espere a que la instancia esté activa, abra la consola/VNC suministrada por IBM y complete las tareas normales del primer arranque de IBM i, incluida la aceptación de acuerdos de software cuando corresponda.
  6. Registre el nombre de host o IP enrutable. Si los puertos host-server se mantienen privados, registre también la ruta SSH/bastion que utilizará para el túnel.
  7. Inicie sesión en IBM i, cree la cuenta DSE de sólo lectura y la biblioteca de prueba indicadas más abajo y arranque los host servers.
  8. Valide la red desde Windows antes de configurar DSE.

Topologías recomendadas:

Ruta directa/privada:
Windows DSE -> host IBM i -> host servers IBM i Access -> Db2 for i

Túnel SSH:
Windows DSE -> puertos reenviados en 127.0.0.1 -> SSH IBM i/bastion -> host servers -> Db2 for i

La facturación de PowerVS y las licencias de IBM i son independientes de DSE. Detenga o elimine los recursos temporales cuando ya no sean necesarios.

4. Inicie sesión en IBM i

Use 5250 o la consola de su plataforma. Use privilegios administrativos solo para la configuración que realmente los requiera.

Menú principal de IBM i

5. Inicie los host servers

STRHOSTSVR SERVER(*ALL)

Si se va a usar un túnel SSH:

STRTCPSVR SERVER(*SSHD)

Puertos no TLS habituales: 449, 8470, 8471, 8472, 8473, 8474, 8475 y 8476. El puerto de base de datos es normalmente 8471 y el de sign-on 8476. Respete las reglas de firewall/TLS de su organización.

6. Cree un usuario de prueba

CRTUSRPRF USRPRF(DSELAB) PASSWORD(<temporary-password>) USRCLS(*USER) STATUS(*ENABLED) TEXT('DSE read-only test user')

La contraseña del ejemplo es un marcador. Verifique que la cuenta esté habilitada, no expirada y sin privilegios innecesarios.

7. Cree la biblioteca DSETEST

CRTLIB LIB(DSETEST) TEXT('DSE connector validation')
GRTOBJAUT OBJ(DSETEST) OBJTYPE(*LIB) USER(DSELAB) AUT(*USE)

8. Cree datos SQL de validación

Use Run SQL Scripts de IBM i Access Client Solutions o STRSQL.

CREATE TABLE DSETEST.CUSTOMER
(
    CUSTOMER_ID INTEGER NOT NULL,
    NAME VARCHAR(80) NOT NULL,
    STATUS VARCHAR(20) NOT NULL,
    CREDIT_LIMIT DECIMAL(12,2),
    CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (CUSTOMER_ID)
);

Creación de DSETEST.CUSTOMER

INSERT INTO DSETEST.CUSTOMER (CUSTOMER_ID, NAME, STATUS, CREDIT_LIMIT)
VALUES
  (1001, 'ARCO INTERNATIONAL', 'ACTIVE', 25000.00),
  (1002, 'NORTHWIND IBM I LAB', 'ACTIVE', 15000.00),
  (1003, 'CONTOSO LEGACY', 'HOLD', 5000.00);

GRANT SELECT ON DSETEST.CUSTOMER TO USER DSELAB;
SELECT * FROM DSETEST.CUSTOMER ORDER BY CUSTOMER_ID;

Ejemplo de datos en la tabla de validación de IBM i:

Datos DSETEST.CUSTOMER en IBM i

9. Instale IBM i Access ODBC en Windows

Instale el Windows Application Package de IBM i Access Client Solutions. Abra el administrador ODBC de 64 bits:

C:\Windows\System32\odbcad32.exe

Debe aparecer:

IBM i Access ODBC Driver

En Windows de 64 bits, el ejecutable de System32 es el administrador ODBC de 64 bits.

El administrador ODBC de 64 bits debe mostrar IBM i Access ODBC Driver de forma similar a esta:

IBM i Access ODBC Driver instalado en Windows

10. Red directa o túnel SSH

Con red directa:

Test-NetConnection <ibmi-host> -Port 8471
Test-NetConnection <ibmi-host> -Port 8476

Con túnel:

ssh -N -T `
  -L 449:127.0.0.1:449 `
  -L 8470:127.0.0.1:8470 `
  -L 8471:127.0.0.1:8471 `
  -L 8472:127.0.0.1:8472 `
  -L 8473:127.0.0.1:8473 `
  -L 8474:127.0.0.1:8474 `
  -L 8475:127.0.0.1:8475 `
  -L 8476:127.0.0.1:8476 `
  -o ExitOnForwardFailure=yes `
  -o ServerAliveInterval=15 `
  -o ServerAliveCountMax=3 `
  <ssh-user>@<ibmi-public-or-bastion-host>

Mantenga esa terminal abierta. Verifique:

Test-NetConnection 127.0.0.1 -Port 449
Test-NetConnection 127.0.0.1 -Port 8471
Test-NetConnection 127.0.0.1 -Port 8476

11. Cree el System DSN de 64 bits

En System DSN agregue IBM i Access ODBC Driver. Nombre sugerido:

DSE_IBMI_DEV

Host directo: host/IP real. Túnel: 127.0.0.1.

Incluya la lista de bibliotecas:

DBQ=DSETEST,QGPL;LIBVIEW=0;

Si DSE se conecta pero solo muestra QGPL, esta configuración es la primera que debe revisar.

12. Pruebe ODBC antes de DSE

$cred = Get-Credential -UserName 'DSELAB' -Message 'IBM i ODBC credentials'
$password = $cred.GetNetworkCredential().Password
$connectionString = "DSN=DSE_IBMI_DEV;UID=$($cred.UserName);PWD=$password;DBQ=DSETEST,QGPL;LIBVIEW=0;"
$conn = New-Object System.Data.Odbc.OdbcConnection($connectionString)
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = 'SELECT CUSTOMER_ID, NAME, STATUS, CREDIT_LIMIT FROM DSETEST.CUSTOMER ORDER BY CUSTOMER_ID'
$reader = $cmd.ExecuteReader()
$table = New-Object System.Data.DataTable
$table.Load($reader)
$table | Format-Table -AutoSize
$conn.Close()

Solucione primero cualquier fallo en esta prueba externa.

13. Configure IBM i en DSE

Seleccione Mainframe → IBM i / AS400 (ODBC configure) y edite la conexión.

DSN=DSE_IBMI_DEV;UID=DSELAB;PWD=<password>;DBQ=DSETEST,QGPL;LIBVIEW=0;

O directamente:

Driver={IBM i Access ODBC Driver};System=<ibmi-host>;Uid=DSELAB;Pwd=<password>;DBQ=DSETEST,QGPL;LIBVIEW=0;

Con túnel use normalmente 127.0.0.1. Seleccione el tipo IBM i específico, no Generic ODBC.

14. Valide dentro de DSE

  1. Test connection
  2. Load tables
  3. busque DSETEST.CUSTOMER
  4. revise Table info
  5. revise Preview
  6. seleccione una fila y abra Row details
  7. ejecute una consulta
SELECT * FROM "DSETEST"."CUSTOMER" FETCH FIRST 100 ROWS ONLY

El conector IBM i incluye compatibilidad para objetos nativos/DDS que rechazan FETCH FIRST: DSE puede limitar el resultado del lado cliente.

15. Resolución de problemas IBM i

IBM z/OS Db2

16. Requisitos

Se requiere host z/OS, Db2 LOCATION, puerto DRDA, usuario Db2, IBM Data Server Driver for ODBC and CLI 64 bits y una vía válida de licencia Db2 Connect.

Driver={IBM DB2 ODBC DRIVER};Database=<location>;Hostname=<zos-host>;Port=<drda-port>;Protocol=TCPIP;Uid=<user>;Pwd=<password>;

Pruebe primero el controlador/licencia fuera de DSE. Después valide conexión, tablas, columnas, preview, detalles y consulta.

VSAM, IMS y CICS

17. Modos de adaptador

ODBC:

Adapter=ODBC;ConnectionString="DSN=YOUR_VSAM_ADAPTER;Uid=<user>;Pwd=<password>";

REST:

Adapter=REST;BaseUrl=https://<adapter-host>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;

DSE no incorpora protocolos nativos VSAM/IMS/CICS. El middleware debe exponer ODBC o el contrato REST.

18. Contrato REST DSE

Cuerpo predeterminado:

{
  "command": "SELECT * FROM CICSDEV.CUSTOMER_SERVICE FETCH FIRST 100 ROWS ONLY;",
  "sourceType": "CICS"
}

DSE también admite get /some/path;. Autenticación: BearerToken, OAuth2 (TokenUrl, ClientId, ClientSecret, Scope), Basic (Username/Password) o ApiKey.

19. CICS

Adapter=REST;BaseUrl=https://<cics-adapter>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;

Consulta CICS en DSE

Metadatos CICS

20. VSAM

El acceso nativo VSAM no está incorporado; use virtualización ODBC o REST.

Consulta VSAM KSDS

El adaptador debe transformar claves, copybooks/layouts y registros al contrato tabular/JSON.

21. IMS

Adapter=REST;BaseUrl=https://<ims-adapter>;HealthPath=/health;ObjectsPath=/dse/objects;ColumnsPath=/dse/objects/{name}/columns;QueryPath=/dse/query;BearerToken=<token>;

o:

Adapter=ODBC;ConnectionString="DSN=YOUR_IMS_ADAPTER;Uid=<user>;Pwd=<password>";

La capa de integración define cómo las jerarquías/segmentos IMS se proyectan como objetos y campos DSE.

Ejemplo de una consulta IMS a través del adaptador de DSE:

Resultado IMS en DSE

Lista de aceptación

22. IBM i

23. z/OS Db2

24. VSAM / IMS / CICS

Para soporte, entregue versión DSE, tipo de fuente, cadena sanitizada, driver/versión, ruta de red, error exacto, logs relevantes y resultado de la misma prueba fuera de DSE. Nunca envíe contraseñas, claves SSH privadas o secretos OAuth.