i've actually implemented this in my project and uploaded to jira the code
that does this and i hope the dev team will have it ready for the next
version

in the mean time, if you want, i can send you my NH compiled DLLs
(haven't changed anything except the code that creates a multi criteria when
the driver is ODP. also ran the unit tests and they were fine). up to you...

On Tue, Mar 16, 2010 at 11:39 AM, James L <[email protected]> wrote:

> When you attempt to use MultiCriteria or MultiQuery against the
> OracleDataClientDriver, you get the exception message "The driver {0}
> does not support multiple queries."  This seems like a wasted
> opportunity.
>
> If you attempt to override the SupportsMultipleQueries driver
> property, NH will spit out a number of queries like this:
> "
> select count(*) from a;
> select count(*) from b;
> "
>
> Oracle doesn't like this syntax.  You can however open a reference
> cursor for each result set, like this:
> begin
>  open :1 for select count(*) from a;
>  open :2 for select count(*) from b;
> end;
>
> In this example, you must pass in two output parameters which are of
> type OracleDbType.RefCursor.  The returned value is an
> OracleRefCursor, which has a GetDataReader() operation.  Going down
> this road seems to be three to four times slower than using individual
> commands, even for 100 queries.  I'm surprised it's that bad, but I
> wouldn't expect it to be much quicker as you're still round-tripping
> for each result set.
>
> Does anyone know of a way to have Oracle return a set of results
> immediately?  Or am I barking up the wrong tree entirely?
>
> Thanks
>

Reply via email to