Einzelnen Beitrag anzeigen

Hoshy

Registriert seit: 27. Apr 2006
32 Beiträge
 
Delphi 7 Architect
 
#1

Kein Zugriff auf Oracle Stored Proc mit Resultset

  Alt 27. Apr 2006, 15:57
Datenbank: Oracle • Version: 9i • Zugriff über: dbExpress, ADO, ZeosDBO
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
  Mit Zitat antworten Zitat