Last post Sep 25, 2008 03:23 PM by anbuzone
Jul 28, 2008 03:38 AM|anbuzone|LINK
Sep 22, 2008 09:14 PM|kjosh|LINK
1) You can use the stored Procedure or Package having the stored procedure which returning the Cursor named Cur_Out of type Sys_RefCursor.
2)We can use the eterprise Library to connect to Oracle database. If we use the ODDP.NET, we can utilize the new features available in Oracle 10G which are not supported with Microsft oracle providers like Multiple Active Result Sets(MARS)...
3) 4) You can use the Cur_Out cursor. But the limitation with this is: Procedure return only one cursor. We cannot return more than one cursor. If you want to return more than once cursor, you have to tweak the Enterprise Library DAAB source code. If you
want to do this let me know.
Database db = DatabaseFactory.CreateDatabase();
IDataReader moReader = db.ExecuteReader( moCmd);
From the reader you get the results.
Hope this helps
Sep 25, 2008 03:23 PM|anbuzone|LINK
Thanks for your reply. After i posted this topic i could able to find some more points like here.
2). Yes, ODP.Net can be used in enterprise library2.0. But if i want to use the ODP.Net features like passing arrays to oracle (associative array). I have to include OracleParameterCollection objects and some ODP.Net specific Oracle command inside
my data access layer which suppress the Enterprise Library functionality. IF i use enterprise library in my project, i should be writing very generic DB layer to all drivers. Not specific to any driver. I should be able to change the driver in the Enterprise
library config file itself. Is it possible?
3). Yes, even i was thinking, we can retrive only one cursor from Oracle SP through cur_OUT. But i googled more and founf we can use the second overloaded method of GetStoredProcCommand(StoredProcName, ParameterCollection). With this we can get
multiple ref cursor from SP. Its working for me. If you want i will give code sinppet.
I need one more help, i.e. Is it possible to send collection/arrays to Oracle SP using Microsoft.Oracleclient itself? without ODP.net.