IBM i Services in der Praxis Teil 2

Datenbankserver Jobs QSQSRVR dem aufrufenden Job zuordnen

IBMi Service FindQSQSRVR 1

Um was geht es?

Die DB2 for i hat einige Spezialitäten, die die anderen DB2 Versionen nicht haben.
Dazu zählt u.a. der SQL Server Mode, der über die QSQSRVR Jobs im Subsystem QSYSWRK abgebildet wird.

Der SQL Server Mode kann im eigenen Programm explizit angegeben werden oder implizit über den JDBC Treiber.

I.d.R. nutzen vor allem Anwendungen, die mit vielen Threads arbeiten den SQL Server Mode, wie z.B. Node.js Webservice Anwendungen, da sie dadurch mehrere Verbindungen parallel aufbauen können, während Anwendungen, die den SQL Server Mode nicht verwenden, immer nur eine Verbindung aufbauen können.

Die QSQSRVR Jobs sind im Subsystem QSYSWRK als Prestart Jobs konfiguriert und können dort oder im eigenen Subsystem angepasst werden. Wenn Sie hierzu Fragen haben, melden Sie sich einfach bei mir.

Je nach Konfiguration der Subsysteme starten u.U. zahlreiche QSQSRVR Jobs pro aufrufendem Job und hierbei einen Überblick zu behalten war früher nicht immer einfach.

Der alte Weg

Früher musste man in das Job Protokoll des QSQSRVR Jobs schauen, um zu sehen, von welchem Job er gestartet wurde.

Damit dies schneller und einfacher geht, hatte IBM uns einen IBM i Service zur Verfügung gestellt, mit welchem wir schnell alle Jobs im Überblick haben.

IBMi Service FindQSQSRVR 1

Wie Sie sehen, ist das gar kein richtiger Service, sondern die Kombination aus zwei bereits länger vorhandenen Services. QSYS2.ACTIVE_JOB_INFO und QSYS2.JOBLOG_INFO. D.h. es werden alle QSQSRVR Jobs aus den aktiven Jobs gelesen und die Job Protokolle ausgelesen, um den aufrufenden Job zu ermitteln. Das Ergebnis sieht dann in etwa so aus.

IBMi Service FindQSQSRVR 2

Der neue Weg

Glücklicherweise hat IBM uns 2010 mit ein paar PTF’s für IBM i V5R4, V6R1 und 7.1 eine neue SQL Prozedur zur Verfügung gestellt, mit der wir diese Aufgabe noch leichter erledigen können.

FIND_QSQSRVR_JOBS

IBMi Service FindQSQSRVR 3

Mit dem Aufruf der Prozedur übergibt man lediglich den Job Namen des aufrufenden Programms und erhält alle dazugehörigen QSQSRVR Jobs.

IBMi Service FindQSQSRVR 4

Als Alternative zu klassischen Datenbankzugriffen, bieten sich mittlerweile Webservice Zugriffe an. Wir realisieren so z.B. auch effektive, sichere und skalierbare Zugriffe aus Node.js oder Python Anwendungen mittels IceBreak RPG Webservices.

Kommentar verfassen

Für Newsletter registrieren

Bleiben Sie immer auf dem Laufenden und erhalten Sie meine News rund um die IBM i und sonstigen IT Themen.

Beiträge