Hi,
ich versuche gerade verzweifelt, mit D7 Enterprise eine Stored Proc in einer Oracle 9i
DB aufzurufen...theoretisch ist alles klar, nur in der Praxis geht gar nix
Die Stored Proc in Oracle sieht so aus:
SQL-Code:
procedure P_MY_TESTPROC (v_id in number, v_value out number, v_refcursor in out gencurtype)
is
begin
v_value := 4711;
open v_refcursor for select * from T_TEST;
end;
end;
Das Ganze in ein
Package "MY_PACKAGE" eingebaut, wo auch v_refcursor als type ref cursor deklariert ist.
Zugriff auf die Proc mit folgenden Versuchsaufbauten, alle gescheitert:
(1) ZeosDBO - ZConnection.Protocol := 'oracle-9i'
Connect zur Datenbank geht, aber verfügbare Procs werden in der ZStoredProc nicht angezeigt. Params gesetzt, Versuch die Proc zu öffnen liefert immer "Unsupported operation".
(2) ZeosDBO - ZConnection.Protocol := '
ado' / OLEDB Provider für
ODBC
Connect zur Datenbank geht, verfügbare Procs werden in der ZStoredProc angezeigt. Params gesetzt, Versuch die Proc zu öffnen liefert immer "Ein Objekt, das dem angeforderten Namen oder dem Ordinalverweis entspricht, kann nicht gefunden werden".
(3) ZeosDBO - ZConnection.Protocol := '
ado' / OLEDB Provider für Oracle
Connect zur Datenbank geht, verfügbare Procs werden in der ZStoredProc angezeigt. Params gesetzt, Versuch die Proc zu öffnen liefert immer "PLS-00306: wrong number or types of arguments in call to 'P_MY_TESTPROC".
(4) dbExpress mit SQLStoredProg / SQLDataSet
Connect zur Datenbank geht, aber verfügbare Procs werden nicht angezeigt. Params gesetzt, Versuch die Proc zu öffnen liefert immer "List Index out of bounds (0)".
(5)
ado mit ADOStoredProc/ ADODataSet
Connect zur Datenbank geht, verfügbare Procs werden angezeigt. Beim Versuch, den Parameter V_REFCURSOR als Typ ftCursor zu setzen, krieg ich immer den Fehler "Die Argumente sind vom falschen Typ, liegen außerhalb des Gültigkeitsbereichs oder sind miteinander unvereinbar".Zum Öffnen des Dataset komme ch schon gar nicht mehr
Ich habe nicht den geringsten Plan, wieso das nicht geht! Mit den bisher von mir verwendeten Komponenten der NCOCI8 Library, V 1.0.4 (
www.torry.net), funktioniert der Aufruf der Proc einwandfrei.
Hat da irgendjemand eine Idee, was ich falsch mache?
Gruß
Andi