A conexão ao servidor IBM AS400 para operações do banco de dados trava

Estou tentando conversar com um AS400 em Python. O objetivo é usar o SQLAlchemy, mas quando não consegui fazê-lo funcionar, voltei para um script mais básico usando apenas ibm_db em vez 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()

O problema parece ser o porto. Se eu usar o 50000 que vejo em todos os exemplos, recebo um erro. Se eu usar 446, recebo um erro. A parte desconcertante é esta: se eu usar 8471, queIBM diz para fazer, Não recebo erro, tempo limite, nenhuma resposta. Deixei o script em execução por mais de vinte minutos e ele fica lá, sem fazer nada. Está ativo, porque não posso usar o prompt de comando, mas nunca fornece nenhum tipo de feedback.

Esses mesmos 400 são usados pela empresa em que trabalho todos os dias, para registro, envio por e-mail e (muito) uso de banco de dados, por isso sei que funciona. O software que usamos, que fala com o banco de dados nos bastidores, funciona muito bem na minha máquina. Isso me diz que meu driver é bom, que as configurações de rede estão corretas e assim por diante. Eu posso até telnet para o 400 daqui.

Estou nas listas de e-mail SQLAlchemy e ibm_db e tenho me comunicado com eles há dias sobre esse problema. Também pesquisei tanto no Google que estou começando a ficar sem links não visitados nos meus resultados de pesquisa. Ninguém parece ter o problema da conexão travado indefinidamente. Se houver algo que eu possa tentar em Python, tentarei. Eu não lido diretamente com o 400, mas posso perguntar ao cara que faz para verificar / configurar o que for necessário. Como eu disse, porém, várias estações de trabalho podem conversar com o banco de dados do 400 sem problemas, e as consultas são executadas na biblioteca que eu quero acessar, se funcionar com o próprio 400. Se alguém tiver alguma sugestão, eu gostaria muito de ouvi-la. Obrigado!

questionAnswers(4)

yourAnswerToTheQuestion