[Mono-dev] Bug 486705 Update / Fix? - OracleClient parameter always zero
Daniel Morgan
monodanmorg at yahoo.com
Fri Mar 20 07:13:41 EDT 2009
I have made your suggested fix to OracleClient.
It was committed as revision 129864 in svn trunk.
--- On Thu, 3/19/09, Thracx <SpamMonkey01+Mono at gmail.com> wrote:
> From: Thracx <SpamMonkey01+Mono at gmail.com>
> Subject: [Mono-dev] Bug 486705 Update / Fix?
> To: mono-devel-list at lists.ximian.com
> Date: Thursday, March 19, 2009, 12:47 PM
>
> I might have found the source of Bug
> 486705. For whatever reason, I am unable to create a Novell
> account so if someone could post this info to that Bug
> on my behalf, it would be much appreciated.
>
...
>
> I wrote this a while back before I had the latest
> source code, but I thought I should just post it anyway for
> others to find when searching.
>
> ExecuteReader(...) of
> System.Data.OracleClient.OracleCommand.cs (Line 580) does a
> for-loop over p (0 thru Parameters.Count), yet the loop
> itself does not use the loop-invariant (p) - instead
> it always uses '0' (i.e. Parameters[0] on Line 581).
> The code in OracleCommand.cs, method GetNextResults()
> (Line 661) has the proper loop so my understanding is when
> Mono first gets the OracleDataReader/RefCursor, it
> should only get the first cursor. Later,
> command.NextResult() will be called by the user which will
> call GetNextResults() and properly get the next cursor.
>
> This would explain to my why ExecuteReader(...) never
> worked for me, as my OUT cursors were never the first
> parameter in the Stored Procedure. I've had to save a
> reference to the OracleParameter when I declare it and then
> use param.Value after a call to ExecuteNonQuery(...) (which
> does work fine for multiple cursor out parameters). I think
> this is a new bug, as I wasn't able to find anything
> about it when searching (other than the possibly related Bug
> 486705).
>
> This might explain Bug 486705 to me - Shao Jiaxing was able
> to get his first cursor out but couldn't get any data
> from any other cursors if the first parameter
> wasn't a cursor.
>
...
>
> View this message in context: Bug
> 486705 Update / Fix?
>
> Sent from the Mono -
> Dev mailing list archive at Nabble.com.
More information about the Mono-devel-list
mailing list