Sie sind nun wieder eingeladen, die Diskussion spezieller technischer Probleme mit zu verfolgen. Bitte schicken Sie Fragen, Anregungen oder Antworten zu den vorgestellten Themen – ebenso wie Ihre Kritik – an unsere e-Mail-Adressen: dieter.bender@bender-dv.de oder Redaktion@MidrangeMagazin.de
Frage:
Ich bekomme aus einem Java Programm keine Verbindung zur Datenbank der AS/400. Die Registrierung des Treibers ist erfolgreich, der Treiber wird gefunden und die AS/400 fragt auch ein Login ab, wenn ich keine Anmeldung mitgebe.
Antwort:
Die Verbindung zur AS/400 erfolgt über den TCP/IP-Datenbankserver. Dazu muss TCP/IP installiert und gestartet sein. Die erforderlichen Ports müssen frei geschaltet und die Objektberechtigungen müssen ausreichend sein. Zudem dürfen die SQL-Zugriffe nicht über Exit-Programme abgeklemmt sein. Letzteres lässt sich mit dem Befehl WRKREGINF prüfen; der entsprechende Exit heißt dort QIBM_QZDA_SQLx (x steht hier für 1 oder 2).
Das Benutzerprofil QUSER muss verwendbar und der Datenbankserver muss gestartet sein. Letzteres lässt sich mit WRKSBSJOB QSERVER überprüfen. Die Datenbankjobs fangen mit QZDA an. Die Serverdienste lassen sich mit STRHOSTSVR *DATABASE starten.
Eine weitere Voraussetzung ist das Vorhandensein eines Eintrages in dem Remote Database-Verzeichnis der AS/400. Das Verzeichnis lässt sich mit WRKRDBDIRE ansehen. Hier muss ein *LOCAL-Eintrag eingetragen werden, soweit noch nicht vorhanden. Wie dieses Verzeichnis heißt, ist für Java unerheblich. Der OS/400-Befehl zum Hinzufügen heißt ADDRDBDIRE
Die Serverjobs laufen dann unter dem Benutzer QUSER und schalten intern auf den User der Verbindung um. Im WRKACTJOB erscheint immer der Benutzer QUSER als Benutzerprofil. Am schnellsten lassen sich die Serverjobs für einen Benutzer mit dem OS/400-Befehl WRKOBJLCK finden. Die Serverjobs des Benutzers halten eine Objektsperre auf das Benutzerprofil, solange ein Benutzer bedient wird. Auf diese Art und Weise kann man auch nach dem Verbindungsaufbau im entsprechenden Joblog nachsehen, welche Fehler eventuell aufgetreten sind, soweit diese im Joblog protokolliert werden.
Abgebrochene Serverjobs sind mit WRKSPLF QUSER auffindbar. Die Serverjobs lassen sich auch unter Debug untersuchen; hierzu muss zuerst mit STRSRVJOB ein Wartungsjob für den Server gestartet werden. In die aktiven Systemprogramme kommt man dann allerdings nicht auf Quellenebene hinein, dazu fehlen die Voraussetzungen bei den Programmen. Häufig bleibt dann lediglich DMPJOB zum sichern aller Informationen für den Softwaresupport.