Liebe Delphi Experten,
ich habe auf meiner Datenbank im Package RC_COMMUNICATION folgende Prozedur :
SQL-Anweisung
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure getCurrProdValuestoRC (out_values OUT output) is prm_number_DS_check number; prm_present_status number; out_status number; begin
....... PL/SQL coding ist unwichtigt funktioniert aber (im sqldeveloper geprüft) .....
end getCurrProdValuestoRC; |
Dabei ist output ein Refcursor.
Diese Prozedur versuche ich mit Delphi 7 mit Hilfe der ADO Komponente aufzurufen.
Dazu habe ich folgendes geschrieben :
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| with ADOStoredProc1 do begin ProcedureName := 'RC_COMMUNICATION.getCurrProdValuestoRC'; Parameters.clear ; Parameters.CreateParameter('out_Client_Status', ftCursor, pdOutput, 0, 0); ExecProc ; end; |
Sobald ich den Code ausführe erhalte ich die Fehlermeldung :
"Parameterobjekt ist nicht ordnungsgemäss definiert."
Bei einigen Recherchen habe ich gelsen, dass dies daran liegen könnte das das Mapping ADO<->Oracle in Delphi 7 falsch ist und habe folgendes ausprobiert :
Delphi-Quelltext
1:
| Parameters.CreateParameter('out_Client_Status', ftUnknown, pdOutput, 0, 0); |
leider mit dem gleichen Ergebnis.
Kann mir einer von Euch einen Hinweis geben, was ich falsch mache ?
Viele Grüße,
Daniel
Moderiert von
Martok: SQL-Tags hinzugefügt
Moderiert von
Martok: Delphi-Tags hinzugefügt