Je suis nouveau chez Oracle, je voudrais construire une solution pour obtenir des colonnes d'un retour REF_CURSOR
, et il y a quelques limitations sur la création d'objets de base de données sur DB, donc je veux courir la procédure stockée et renvoyez les données REF_CURSOR
dans le script C#.Récupérer des colonnes de OUT REF_CURSOR en utilisant C#
-3
A
Répondre
0
Votre procédure back-end pourrait être quelque chose comme ceci:
procedure my_proc(
p_id in number,
p_cursor out sys_refcursor
) is
begin
open p_cursor for
select col1, col2, col3
from my_table
where id = p_id;
end my_proc;
Et puis dans votre script C# vous déclarez le 2 paramètre appel, réglage du second paramètre en sortie (direction = ParameterDirection.Output) et le type OracleDbType.RefCursor (n'oubliez pas d'ajouter les espaces de noms 'Oracle.DataAccess.Client' et 'Oracle.DataAccess.Types' au début de votre objet/classe). N'oubliez pas de fermer le lecteur de données ainsi que votre connexion, sinon votre DBA frappera à votre porte avec des yeux rouges et des crocs sanglants.
Pouvez-vous poster du code? Jetez un coup d'œil à [Comment poser une bonne question] (https://stackoverflow.com/help/how-to-ask) pour améliorer vos chances d'obtenir une réponse. – Sandman
Vous devez utiliser ODP.NET, puis lire http://docs.oracle.com/cd/B19306_01/win.102/b14307/featRefCursor.htm –