PDA

View Full Version : Systembefehl aus SQL heraus



Seiten : 1 [2]

KM
06-06-13, 07:33
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

Anton Gombkötö
06-06-13, 09:49
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. ;-)

Fuerchau
06-06-13, 13:54
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.