[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