https://bugzilla.novell.com/show_bug.cgi?id=667236
https://bugzilla.novell.com/show_bug.cgi?id=667236#c0 Summary: OracleClient OUT parameters have decimal values instead of integer values Classification: Mono Product: Mono: Class Libraries Version: 2.8.x Platform: x86-64 OS/Version: Linux Status: NEW Severity: Normal Priority: P5 - None Component: Sys.Data AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- Created an attachment (id=410432) --> (http://bugzilla.novell.com/attachment.cgi?id=410432) The test program User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.19 Safari/534.13 To insert an entity into Oracle database NHibernate issues queries like this: "INSERT INTO NEWS (Id, Header, NEWS_DATE) VALUES (hibernate_sequence.nextval, :p0, :p1) returning Id into :nhIdOutParam" In this query, "nhIdOutParam" is a parameter with OUT direction and with Int32 type. NHibernate uses it to retrieve identifier of newly added row. But after executing this command the "nhIdOutParam" parameter gets value of type System.Decimal (instead of expected System.Int32) and NHibernate crashes when it tries to assign this value to the Id property of an object: NHibernate.PropertyAccessException: The type System.Decimal can not be assigned to a property of type System.Int32 setter of Bars.EAS.DataAccess.PersistentObject.Id ---> System.ArgumentException: failed to convert parameters A minimal program that shows a similar behavior is attached. The attached patch fixes this problem. Reproducible: Always Steps to Reproduce: 1. Change the oracle database credentials in the attached program and compile it with "mcs oracleout.cs -r:System.Data.OracleClient" 2. run "mono oracleout.exe --create-table" 3. run "mono oracleout.exe" Actual Results: "System.Decimal" is printed to the console Expected Results: "System.Int32" is printed to the console. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. You are the assignee for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
