La conexión al servidor IBM AS400 para operaciones de base de datos se bloquea

Estoy tratando de hablar con un AS400 en Python. El objetivo es usar SQLAlchemy, pero cuando no pude lograr que funcionara, volví a un script más básico usando solo ibm_db en lugar de ibm_db_sa.

import ibm_db
dbConnection = ibm_db.pconnect("DATABASE=myLibrary;HOSTNAME=1.2.3.4;PORT=8471;PROTOCOL=TCPIP;UID=username;PWD=password", "", "") #this line is where it hangs
print ibm_db.conn_errormsg()

El problema parece ser el puerto. Si uso el 50000 que veo en todos los ejemplos, aparece un error. Si uso 446, me sale un error. La parte desconcertante es esta: si uso 8471, queIBM dice que hacer, No recibo ningún error, no hay tiempo de espera, no hay respuesta alguna. He dejado el script ejecutándose durante más de veinte minutos, y simplemente se queda allí, sin hacer nada. Está activo, porque no puedo usar el símbolo del sistema, pero nunca me da ningún tipo de comentario.

Este mismo 400 es utilizado por la compañía para la que trabajo todos los días, para iniciar sesión, enviar correos electrónicos y (una gran cantidad de) uso de la base de datos, así que sé que funciona. El software que utilizamos, que se comunica con la base de datos detrás de escena, funciona bien en mi máquina. Eso me dice que mi controlador es bueno, que la configuración de red es correcta, etc. Incluso puedo telnet en el 400 desde aquí.

Estoy en las listas de correo electrónico SQLAlchemy e ibm_db, y me he estado comunicando con ellos durante días sobre este problema. También lo busqué en Google tanto que estoy empezando a quedarme sin enlaces no visitados en mis resultados de búsqueda. Nadie parece tener el problema de la conexión colgando indefinidamente. Si hay algo que pueda probar en Python, lo intentaré. No trato directamente con el 400, pero puedo pedirle al tipo que lo hace que verifique / configure lo que sea que necesite. Sin embargo, como dije, varias estaciones de trabajo pueden comunicarse con la base de datos del 400 sin problemas, y las consultas que se ejecutan en la biblioteca a la que quiero acceder funcionan bien, si se ejecutan desde el propio 400. Si alguien tiene alguna sugerencia, agradecería mucho escucharla. ¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta