-
@Fuerchau
Also, der Reihe nach:
Selbstverständlich kann ich 'Embedded SQL' in meinem Cobol-Compiler unter Windows nutzen, der Hersteller bietet da einen PreCompiler an.
Ich habe eine andere Anwendung die bereits vor über 5 Jahren komplett portiert wurde von herkömmlichen Cobol Datei-Zugriffen mit READ/WRITE/REWRITE/DELETE auf die Nutzung von ODBC mit Aufrufen per CALL und Nutzung der ODBC-API's, also komplett mit SQLAllocStmt (mittlerweile SQLAllocHandle), SQLBindParameter, SQLBindCol, SQLPrepare, SQLExec, SQLExecDirect, SQLFetch (mittlerweile teilweise SQLFetchScroll), etc. etc.
Läuft stabil und problemlos mit diversen Datenbanken.
Von daher ist hier Know-How vorhanden, im Gegensatz zu 'Sockets'.
Wie ich vorher schonmal erwähnt hatte habe ich die Anwendung die nun umzustellen ist mal probehalber teilweise umgestellt (habe einfach die Cobol-Befehle 1 zu 1 umgestellt auf SQL via ODBC), dieser Ansatz ist zwar RELATIV schnell gemacht, aber natürlich auch verdammt langsam ...
So, nun aber zu den Stored Procedures.
Habe heute mal einen Test gemacht. Per ODBC-Treiber 'Create Procedure' ausgeführt. Die Prozedur war vom Typ 'External', es wurde ein Cobol-Programm auf der AS/400 aufgerufen.
Ich habe 2 Parameter gebunden mit SQLBindParameter, 1 Eingabe- und 1 Ausgabeparameter. In der Eingabe war eine Satznummer die das Cobol-Programm auf der AS/400 lesen sollte, die Ausgabe enthielt den Datensatz. Das funktionierte auch einwandfrei.
Dann habe ich versucht mittels 'Create Procedure' eine SQL-Prozedur zu erstellen. Das schlug fehl und im Joblog fand ich dann auch den Grund: Es wird der ILE C-Compiler benötigt. Hattest du ja schon erwähnt das man diesen bei Release 4.x benötigt.
Ich finde diesen Aufruf mit den Stored Procedures vom Type External eigentlich ganz interessant.
Ich denke das eigentlich nur noch 2 Ansätze für mich interessant sind:
- Embedded SQL
- Stored Procedures 'External'
Das Embedded SQL funktionieren wird, da mache ich mir keine Sorgen.
Für den Weg über die External Prozeduren habe ich eine Idee:
Ich denke mal das Programm, ich nenne es mal PGM1, welches man von dieser Prozedure aus aufruft wird grundsätzlich beendet (sprich STOP RUN) und dieses kann man vermutlich auch nicht verhindern, oder?
Jetzt könnte PGM1 doch ein weiteres Cobol-Programm, ich nenne es mal PGM2, aufrufen welches permanent aktiv ist und (zunächst mal) nicht beendet wird. PGM2 wartet nun auf Daten von PGM1. Sobald Daten anliegen verarbeitet PGM2 diese und gibt Daten zurück an PGM1. PGM1 setzt nun seine Verarbeitung fort, beendet sich und gibt die Daten zurück an die PC-Anwendung.
Wie könnte man das auf der AS/400 realisieren.
Unterstützt OPM Cobol Entry Points? Gibt es irgendwelche Queue's die man hierfür nutzen könnte?
Oder gibt es sonst eine "valide Denkoption" ?
Bin auf der AS/400 leider zuwenig bewandert 
Beste Grüße
Neptun
Similar Threads
-
By Kirsten Steer in forum NEWSboard Server Software
Antworten: 0
Letzter Beitrag: 11-12-06, 08:45
-
By stef2 in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 07-04-06, 18:01
-
By RobertMack in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 28-06-04, 14:52
-
By Burgy Zapp in forum Archiv NEWSboard Events
Antworten: 0
Letzter Beitrag: 15-03-04, 11:35
-
By Jens Falk in forum NEWSboard Server Software
Antworten: 4
Letzter Beitrag: 12-02-02, 12:23
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks