2010-03-23 2 views
1

Возможно ли получить курсор ref из хранимой процедуры oracle с помощью DAAB из Microsoft Enterprise Library 4.1?Возврат курсора курсора из хранимой процедуры oracle с использованием DAAB из MS EntLib 4.1

+0

Благодарим вас, пожалуйста, разделите образец кода? – Kiquenet

+0

Я уверен. Мы используем более раннюю версию DAAB и настолько хороши. –

+0

Спасибо, можете ли вы поделиться образцом кода? – afin

ответ

1

Да, конечно, вы можете.

PROCEDURE load_all (
    p_row_start   IN  number, 
    p_page_size   IN  number, 

    cur_out    OUT sys_refcursor 
) AS 
... 

А на C# стороне:

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

REFCURSOR пары должен быть назван "cur_out".

+0

Большое спасибо. – afin

0

DAAB не дает нам возможности получить Ref Cursor. Проблема заключается в том, что System.Data.Common не имеет типа DbType.Cursor или DbType.RefCursor. Таким образом, в исходном коде DAAB 4.1 требуется небольшая настройка. Следуйте инструкциям, приведенным в следующей ссылке. Он работает как кусок пирога.

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