Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appel de procédure stockée retournant curseur via Odbc

3 réponses
Avatar
Franck
Bonjour,
je tente d'appeler via ODBC une proc=E9dure stock=E9e Oracle dont le
param=E8tre d'Output est un "Ref Cursor". (myStoredProc(param1 IN
Varchar2, param2 OUT Ref Cursor))

J'obtient l'erreur suivant : "Cannot bind PL/SQL Records or Cursor
References"

Quelqu^'un pourrait me dire comment d=E9clarer mon param=E8tre de sortie
?

Merci d'avance.

3 réponses

Avatar
michael
Bonjour,

C'est à mon avis ta description "param2 OUT Ref Cursor" qui n'est pas
bonne.
Voici un exemple de procédure stockée :

--------------------------------------------------------------------------- -------------------------------------

--
-- Entête du package
--
CREATE OR REPLACE PACKAGE AcheteurPkg AS
TYPE REFCURSOR IS REF CURSOR ;
PROCEDURE GetAcheteurByCode(Code IN NUMBER, Data OUT
REFCURSOR);
END AcheteurPkg;
/

-- Procédure GetAcheteurByCode
PROCEDURE GetAcheteurByCode
(
Code IN NUMBER,
Data OUT REFCURSOR
)
IS
BEGIN
OPEN Data FOR
SELECT NOMSAP_ACH, TYPEACHETEUR_ACH, MAIL_ACH FROM ACHETEUR WHERE
CODESAP_ACH=Code;
END;

--------------------------------------------------------------------------- -------------------------------------

A+
Michael
Avatar
Franck
Bonjour,
La procédure fonctionne bien.
C'est au niveau de l'appel via OdbC que je n'arrive pas à déclarer le
paramètre comme un curseur de retour.
Avatar
adebaene
Franck wrote:
Bonjour,
je tente d'appeler via ODBC une procédure stockée Oracle dont le
paramètre d'Output est un "Ref Cursor". (myStoredProc(param1 IN
Varchar2, param2 OUT Ref Cursor))



J'ai réussi a faire cela avec une procédure "pipelined" et en
appelant la procédure ainsi :

new OdbcDataAdapter("SELECT * FROM TABLE(monpackage.maprocedure)

Arnaud
MVP - VC