-
Systembefehl aus SQL heraus
Hallo zusammen,
ich weiß, es geht bestimmt, aber wie ?
Ich möchte aus dem SQL heraus (aus RPG oder Net.Data) einen Systembefehl, z.b. CHGLIBL, absetzen bzw. durchführen lassen.
Kann mir jemand weiterhelfen ?
Vielen Dank im Voraus
Peet
-
Dafür gibts hier mehrere Beispiele mit QCMDEXC als SQL-Procedure:
CALL QCMDEXC ('MyCmd', 0000000005.00000)
Der numerische Ausdruck muss mit 10 Vorkomma und 5 Nachkommstellen genau die Länge des Kommandos enthalten.
Sind Hochkommata im Kommando enthalten, so sind diese zu verdoppeln, aber sie zählen nicht zur Länge dazu, da SQL diese wieder entfernt.
-
-
Zitat von Fuerchau
Der numerische Ausdruck muss mit 10 Vorkomma und 5 Nachkommstellen genau die Länge des Kommandos enthalten.
Das war erforderlich, als QCMDEXC noch nicht als Stored Procedure registriert war (vor Release V5R4 wenn ich mich recht erinnere). Heute ist dies nicht mehr notwendig. Die Länge sollte allerdings stimmen.
Der folgende Aufruf wird ordnungsgemäß ausgeführt.
Code:
CALL QCMDEXC('Addlible Hauser', 15)
Birgitta
-
Zitat von B.Hauser
Das war erforderlich, als QCMDEXC noch nicht als Stored Procedure registriert war (vor Release V5R4 wenn ich mich recht erinnere). Heute ist dies nicht mehr notwendig. Die Länge sollte allerdings stimmen.
Der folgende Aufruf wird ordnungsgemäß ausgeführt.
Code:
CALL QCMCEXC('Addlible Hauser', 15)
Birgitta
... mitnichten und auch mitneffen Frau Oberlehrerin, da sind gleich mehrere Fehler, die den Erfolg vereiteln...
D*B
-
...und zwar welche (außer dem Tippfehler bei QCMDEXC)?
-
Schließe mich dem Wunsch an
Lieber Dieter,
hier bei mir funktioniert das auch.
Bitte erhelle uns, sage uns, warum es nicht gehen kann.
Hummeln können ja auch nicht fliegen. Gottseidank können sie auch nicht lesen. ;-)
Danke,
LG Toni
-
Ich gebe Dieter recht.
Bei mir funktioniert ein "addlible Hauser" auch nicht.
Schließlich gibt es solch eine Lib auf den wenigsten AS/400 Systemen
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Wenn Du eine Fehlermeldung erhältst,
dass es keine Bibliothek Hauser gibt, und es diese Bibliothek wirklich nicht gibt, funktioniert das doch ordnungsgemäß?!
Ich vermute etwas intellektuell Anspruchsvolleres dahinter, schließlich ist es Dieter Bender, den verbinde ich eigentlich nicht mit Kinderkram... ;-)
-
Falls es irgendjemand interessieren sollte:
QCMDEXC wurde als externe Stored Procedure in der Bibliothek QSYS2 hinterlegt.
Die Stored Procedure hat 2 Parameter:
1. CL-Befehl - VarChar(32000)
2. Länge - 15,5
Intern wird QCMDEXC aufgerufen und ausgeführt!
Die Bibliothek QSYS2 ist im Systemteil der Bibliotheksliste hinterlegt und auch bei Verwendung von SQL Naming im Default Path, so dass ein unqualifizierter Aufruf erfolgen kann.
Dadurch, dass das Original-Programm als Stored Procedure registiert wurde, kann es auch nach den gleichen Regeln wie jede andere Stored Procedure aufgerufen werden, d.h. die Anzahl der Parameter muss stimmen und die Datentypen der Parameter müssen zur Definition kompatibel sein.
Wenn man natürlich QCMDEXC mit QSYS qualifiziert aufgerufen wird, funktioniert der Aufruf nicht, da an dieser Stelle das Original-Programm aufgerufen wird (und nicht die Stored Procedure!). In diesem Fall muss der zweite Parameter mit 10 Vorkomma- und 5 Nachkommastellen angegeben werden.
Birgitta
-
Falls es irgendjemand interessieren sollte:
Ich finde das schon sehr interessant. Nur was mich noch viel mehr interessiert, ist was BenderD dagegen für Einwände hat, denn bei mir funktioniert der Aufruf auch völlig problemlos.
Gibt es hier im Forum nicht jemanden, der sich immer darüber aufregt, dass andere so in Rätseln reden bzw. nur sehr spärlich mit Informationen rausrücken, so dass er seine Kristallkugel bemühen muß? Irgendwie kommt mir das hier bekannt vor.
Gruß,
KM
-
Schön gesagt.
Vielen Dank an Birgitta, wie immer sind ihre Ausführungen sehr lehrreich und bringen uns alle ein Stück weiter, besseren Code zu produzieren.
Das schafft Dieter auch, aber man muss es ihm meistens ein bisschen aus der Nase ziehen, er ist vom Naturell her eher kein Messias, der andere überzeugen will. Aber er hat meistens eine fachlich fundierte Meinung, warum man es vielleicht nicht so und so machen sollte. Nur geizt er ein bisschen damit. ;-)
Similar Threads
-
By Rincewind in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-12-06, 13:58
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
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