Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=79631 --- shadow/79631 2006-10-10 05:37:25.000000000 -0400 +++ shadow/79631.tmp.30700 2006-10-10 05:37:25.000000000 -0400 @@ -0,0 +1,105 @@ +Bug#: 79631 +Product: Mono: Class Libraries +Version: 1.1 +OS: GNU/Linux [Other] +OS Details: Debian Unstable, 2.6.8 +Status: NEW +Resolution: +Severity: 080 Two weeks +Priority: Normal +Component: Sys.Data +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Third and next output parameters are DBNull values + +Please fill in this template when reporting a bug, unless you know what +you are doing. +Description of Problem: + +Database: Oracle XE 10.2.0.1.0 +Mono: 1.1.17.2 + +When I run simple application which executes very simple stored procedure +with more than two output parameters, I always get DBNull value for the +third and next parameters. First and second parameter are fine, they got +good values. + +This is a source code of this application: + +public static void Main(string[] args) +{ + OracleConnection oracleConnection = new OracleConnection("User +ID=dbo;Password=dbo;Server=ip_address;"); + + oracleConnection.Open(); + OracleCommand oracleCommand = new OracleCommand("SP_SIMPLE_TEST", +oracleConnection); + oracleCommand.CommandType = CommandType.StoredProcedure; + + OracleParameter parameter = new OracleParameter("P1", +OracleType.Number); + parameter.Direction = ParameterDirection.Output; + oracleCommand.Parameters.Add(parameter); + + parameter = new OracleParameter("P2", OracleType.Number); + parameter.Direction = ParameterDirection.Output; + oracleCommand.Parameters.Add(parameter); + + parameter = new OracleParameter("P3", OracleType.Number); + parameter.Direction = ParameterDirection.Output; + oracleCommand.Parameters.Add(parameter); + + oracleCommand.ExecuteNonQuery(); + + Console.WriteLine("Parameter 1: " + Convert.IsDBNull +(oracleCommand.Parameters["P1"].Value)); + Console.WriteLine("Parameter 2: " + Convert.IsDBNull +(oracleCommand.Parameters["P2"].Value)); + Console.WriteLine("Parameter 3: " + Convert.IsDBNull +(oracleCommand.Parameters["P3"].Value)); + + oracleConnection.Close(); + Console.ReadLine(); +} + +This is stored procedure: + +CREATE OR REPLACE PROCEDURE SP_SIMPLE_TEST( +P1 OUT NUMBER, +P2 OUT NUMBER, +P3 OUT NUMBER) + +AS +BEGIN + P1:=1; + P2:=2; + P3:=3; + +END SP_SIMPLE_TEST; +/ + +Steps to reproduce the problem: +1. Run the above application + +Actual Results: + +Parameter 1:False +Paremeter 2:False +Parameter 3:True + + +Expected Results: + +Parameter 1:False +Paremeter 2:False +Parameter 3:False + +How often does this happen? +Always + +Additional Information: +Compiled using gmcs _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
