Problemas para conectarse a iSeries desde .NET Core

Sep 10 2020

Publicación cruzada con esto en los foros de IBM: https://www.ibm.com/mysupport/s/forumsquestion?id=0D50z00006egDnsCAE. Pregunta de seguimiento ubicada aquí: Problemas para conectarse a iSeries desde .NET Core

Hola a todos,

Soy muy nuevo en todo esto, así que avíseme si hay alguna información que pueda ayudar que no esté proporcionando.

En este momento solo estoy tratando de hacer funcionar lo básico: lograr que la conexión se abra. Tengo un proyecto .NET Core simplificado, que simplemente muestra un botón que puedo presionar que abre una conexión para DB2. Mi código es el siguiente:

using IBM.Data.DB2.Core; 
... 
DB2Connection DB2Connection = new DB2Connection(connectionString); 
DB2Connection.SystemNaming = true; 
DB2Connection.Open();

Mi cadena de conexión es la siguiente:

"Server=###.###.###.###;Database=AAAA;UID=BBBB;PWD=CCCC;LibraryList=DDDD,EEEE;"

Recibo la siguiente excepción:

IBM.Data.DB2.Core.DB2Exception (0x80004005): ERROR [08001] [IBM] SQL30081N  A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "###.###.###.###". Communication function detecting the error: "connect". Protocol specific error code(s): "10061", "*", "*". SQLSTATE=08001

Realmente no sé cómo proceder desde aquí. Para el contexto, estoy usando "IBM Navigator for i" para consultar la información directamente, y eso funciona bien para la IP, la ID de usuario y la contraseña que usé anteriormente.

Leí un poco e intenté algunas soluciones diferentes, pero ninguna ayudó realmente. Vi que en "Integración de DB2 Universal Universal Database para iSeries con para iSeries con Microsoft ADO .NET", sugería buscar en la sección Gestión del trabajo del navegador y verificar en Trabajos del servidor para ver si había alguna información adicional; sin embargo , no parece que haya nada que ver.

Entiendo que puedo requerir una licencia para que esta conexión funcione correctamente, y acepto que si ese termina siendo el problema, tendré que obtener la licencia, pero no creo que haya llegado a esa etapa todavía. Por ahora, solo quiero asegurarme de que la conexión funcione correctamente.

Se agradece enormemente cualquier ayuda o comprensión. Gracias.

Respuestas

1 mao Sep 19 2020 at 16:51

El síntoma SQL30081N con 10061 se resolvió al incluir PORT = xxx; en la cadena de conexión, donde xxx es el número de puerto TCP / IP correcto en el que Db2-for-i-series está escuchando conexiones.