Verbindung zum IBM AS400-Server für Datenbankoperationen hängt

Ich versuche mit einem AS400 in Python zu sprechen. Das Ziel ist, SQLAlchemy zu verwenden, aber als ich das nicht zum Laufen bringen konnte, bin ich zu einem grundlegenderen Skript zurückgekehrt, das nur ibm_db anstelle von ibm_db_sa verwendet.

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()

Das Problem scheint der Port zu sein. Wenn ich den 50000 verwende, den ich in allen Beispielen sehe, erhalte ich eine Fehlermeldung. Wenn ich 446 verwende, erhalte ich eine Fehlermeldung. Das verblüffende daran ist: Wenn ich 8471 benutze, welcheIBM sagt zu tun, Ich bekomme keine Fehlermeldung, keine Zeitüberschreitung, überhaupt keine Antwort. Ich habe das Skript über zwanzig Minuten laufen lassen, und es sitzt einfach da und tut nichts. Es ist aktiv, weil ich die Eingabeaufforderung überhaupt nicht verwenden kann, aber es gibt mir keinerlei Rückmeldung.

Dieselbe 400er wird von der Firma verwendet, für die ich jeden Tag arbeite, für die Protokollierung, das Versenden von E-Mails und (viel) die Verwendung von Datenbanken. Ich weiß also, dass es funktioniert. Die Software, die wir verwenden und die hinter den Kulissen mit der Datenbank kommuniziert, läuft auf meinem Computer einwandfrei. Das sagt mir, dass mein Treiber gut ist, die Netzwerkeinstellungen stimmen und so weiter. Ich kann sogar von hier aus in die 400 telnet.

Ich stehe auf den E-Mail-Listen SQLAlchemy und ibm_db und kommuniziere seit Tagen mit ihnen über dieses Problem. Ich habe es auch so oft gegoogelt, dass mir die nicht besuchten Links in meinen Suchergebnissen allmählich ausgehen. Niemand scheint das Problem zu haben, dass die Verbindung auf unbestimmte Zeit hängt. Wenn ich etwas in Python ausprobieren kann, werde ich es versuchen. Ich beschäftige mich nicht direkt mit der 400, aber ich kann den Mann fragen, der alles überprüft / konfiguriert, was ich brauche. Wie ich bereits sagte, können mehrere Workstations problemlos mit der Datenbank des 400 kommunizieren, und Abfragen, die für die Bibliothek ausgeführt werden, auf die ich zugreifen möchte, funktionieren einwandfrei, wenn sie vom 400 selbst ausgeführt werden. Wenn jemand Vorschläge hat, würde ich mich sehr über diese freuen. Vielen Dank

Antworten auf die Frage(8)

Ihre Antwort auf die Frage