2010-03-23 21 views
1

Est-il possible d'obtenir le curseur ref de la procédure stockée Oracle à l'aide de DAAB de Microsoft Enterprise Library 4.1?Renvoyer le curseur ref de la procédure stockée Oracle à l'aide de DAAB à partir de MS EntLib 4.1

+0

Merci, Pouvez-vous s'il vous plaît partager l'exemple de code? – Kiquenet

+0

Oui, bien sûr. Nous utilisons une ancienne version de DAAB et jusqu'ici tout va bien. –

+0

Merci, Pouvez-vous s'il vous plaît partager l'exemple de code? – afin

Répondre

1

Oui, sûrement vous pouvez.

PROCEDURE load_all (
    p_row_start   IN  number, 
    p_page_size   IN  number, 

    cur_out    OUT sys_refcursor 
) AS 
... 

Et du côté C#:

DbCommand cmd = db.GetStoredProcCommand("my_package.load_all", paramValues)) 
IDataReader r = db.ExecuteReader(cmd); 
... 

refcursor censé être param nommé "cur_out". DAAB ne fournit pas une possibilité pour nous d'obtenir le curseur de référence.

+0

Merci beaucoup. – afin

0

Le problème est System.Data.Common n'a pas de type DbType.Cursor ou DbType.RefCursor. Donc, il y a un peu de peaufinage requis dans le code source de DAAB 4.1. Veuillez suivre les étapes indiquées dans le lien suivant. Cela fonctionne comme un morceau de gâteau.

http://www.codeproject.com/KB/database/DAAB_On_ODPNet.aspx