[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.945
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.017
    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

  3. #3
    Registriert seit
    Nov 2012
    Beiträge
    51

    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. ;-)

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.809
    Mich stört die Definition "VarChar(32000)
    ", da QCMDEXC direkt VarChar nicht unterstützt sondern nur CHAR.

    Ich habe mir schon seit langem per ODBC einen "CREATE PROCEDURE QCMDEXC ..." zusammengebastelt der auch immer funktioniert hat.

    Nun kommt es beim ODBC leider auf die Verwendung des Treibers an (über ADO-Objekte):
    Beim MSDASQL (Standard bei ODBC-Verbindungen) reicht einfach eine "CALL XXX" um im ODBC-Serverjob ausgeführt zu werden.
    Verwendet man (leider) den IBMDA400 bzw. den IBMDASQL-Provider ist ein Call in geschweifte Klammern zu setzen.
    Dabei gibt es 2 Arten (wobei ich nie weiß, welcher denn nun welcher ist):

    "{CALL XXX ...}"
    "{{CALL XXX ...}}"

    Der eine Call wird als SQL-Call ausgeführt, der andere als RMTCMD und damit eben nicht im ODBC-Job!
    Lässt man die Klammern weg, fügt der Provider einfach welche ein und macht wahrscheinlich den RMTCMD.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. SQL Sensitiver Cursor Probleme
    By Rincewind in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-12-06, 14:58
  2. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 11:15
  3. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 15:53
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 15:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 10:43

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •