COBOL mit DB2 aus Java-Batch
- Dieses Thema hat 3 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 12 Jahre, 4 Monaten von
Anonym.
-
AuthorPosts
-
9. Januar 2011 um 14:08 Uhr #4117
AnonymInaktivWir wollen in einem Java-Batch (stand alone, JZOS Java Launcher) auch COBOL-Module mit DB2 aufrufen. Für den DB2-Zugriff in Java soll bevorzugt JDBC Type 2 verwendet werden.
Für den Aufruf verwenden wir einen OO-COBOL-Wrapper. Soweit funktioniert das auch ganz gut.
Wenn das COBOL-Modul DB2 verwendet, dann müssen wir den Java-Batch im TSO (IKJEFT01 oder IKJEFT1B) ausführen damit COBOL eine Verbindung ins DB2 hat. In diesem Fall können wir aber nicht JDBC Type 2 verwenden da wir hier kein Java-Connection mehr ins DB2 bekommen da eine Verbindung ins DB2 bereits vom IKJEFT01 aufgebaut ist (Fehler aus RRSAF, nur eine Verbindung möglich). Diese IKJEFT01-Connection können wir in Java nicht verwenden. Die Lösung ist hier, JDBC Type 4 zu verwenden, was an sich kein wirkliches Problem darstellen würde.
Das wirklich Problem mit Type 4 ist, dass wir hier separate Transaktionen haben und somit keine Updates/Deletes/Inserts in COBOL machen können, da sonst die Datenintegrität nicht gewährleistet ist (wir brauchen auch Commits für Restart-Verarbeitung).
Machen wir etwas falsch? Ich kann diese Problemstellung in IBM RedBooks und auch sonst wo im Web leider nicht finden.Wäre es eine Lösung, wenn wir das COBOL-Modul aus der Stored Procedure aufrufen?
Wie ist das mit WebSpere XD: Könnte man da Java mit COBOL (beide mit DB2) in einer gemeinsamen Transaktion (Unit of Work) laufen zu lassen?
9. Januar 2011 um 19:24 Uhr #4266
AnonymInaktivHi YDM,
so auf den ersten Blick – ich schau‘ mir das morgen nochmal an – würde ich sagen, dass Stored Procs auf jeden Fall helfen würden: Entweder das Cobol Programm (Kompilat auf der Load Library) oder die Java Programme in Stored Procs aufrufen.
Java (wenn während der DB2-Installation vorbereitet) dürfte einfacher sein. Für das Cobol Binary (auf der Load Library) müsste der WLM Applications Space, der die Stored Proc ausführt, die Load Library in der STEPLIB DD-Karte allokieren. (Wenn noch nicht eingerichtet, ist das ein größeres Rad!)
Das vorab mal.
A domani!
Gernot
10. Januar 2011 um 20:07 Uhr #4374
AnonymInaktivHi YDM,
das IBM Buch "DB2 9 for z/OS Stored Procedures: Through the CALL and Beyond" unter http://www.redbooks.ibm.com/abstracts/sg247604.html könnte Dir weiterhelfen.
Ich hab‘ Dir auch ein paar gute Samples aus einem IBM Hardcover Buch hinzugefügt. (Sichtbar in der Thread-Ansicht, nicht in der Kurzübersicht der letzten 10 Beiträge!)
Gruß
Gernot14. Mai 2011 um 18:50 Uhr #4450
AnonymInaktivSpät aber doch: Danke für deine Info/Antwort!
Vorweg: Ich/wir habe(n) das Thema dann vorerst nicht weiter verfolgt.
Warum? Neues "z/OS Batch Runtime environment" kommt mit z/OS 1.13:
"new z/OS base component, z/OS Batch Runtime environment, designed to enable COBOL and Java™ to interoperate for DB2® with transactional integrity so you can enhance and extend existing COBOL batch application programs using Java."Also ich warte nun auf z/OS Version 1 Release 13 und hoffe dass es bald kommt und bei uns installiert wird.
-
AuthorPosts
You must be logged in to reply to this topic.