Gilles,
I'm getting some errors with the MS OracleClient and ODP providers with the TypeHandler changes.
In any of the NUnit tests that use a <result select="Getzzzz">
(mostly resultMap tests) such as TestArrayMapping, I get the following:
<statement id="GetOrderWithLineItemArray"
parameterClass="int"
resultMap="order-with-lines-array">
select * from Orders where Order_ID = #value#
</statement>
at
IBatisNet.Common.Utilities.Objects.ObjectProbe.GetProperty(Object obj,
String propertyName) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.Common\Utilities\Objects\ObjectProbe.cs:line
349
at
IBatisNet.Common.Utilities.Objects.ObjectProbe.GetPropertyValue(Object
obj, String propertyName) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.Common\Utilities\Objects\ObjectProbe.cs:line
491
at
IBatisNet.DataMapper.Configuration.ParameterMapping.ParameterMap.SetParameter(ParameterProperty
mapping, IDataParameter dataParameter, Object parameterValue) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Configuration\ParameterMapping\ParameterMap.cs:line
262
at
IBatisNet.DataMapper.Commands.DefaultPreparedCommand.ApplyParameterMap(IDalSession
session, IDbCommand command, RequestScope request, IStatement
statement, Object parameterObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Commands\DefaultPreparedCommand.cs:line
155
at
IBatisNet.DataMapper.Commands.DefaultPreparedCommand.Create(RequestScope
request, IDalSession session, IStatement statement, Object
parameterObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\Commands\DefaultPreparedCommand.cs:line
80
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForList(RequestScope
request, IDalSession session, Object parameterObject, Int32
skipResults, Int32 maxResults, RowDelegate rowDelegate) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
581
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession
session, Object parameterObject, Int32 skipResults, Int32 maxResults)
in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
528
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(IDalSession
session, Object parameterObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
509
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecutePostSelect(IDalSession
session, RequestScope request) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
897
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.RunQueryForObject(RequestScope
request, IDalSession session, Object parameterObject, Object
resultObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
463
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession
session, Object parameterObject, Object resultObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
401
at
IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession
session, Object parameterObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
382
at IBatisNet.DataMapper.SqlMapper.QueryForObject(String
statementName, Object parameterObject) in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\SqlMapper.cs:line
519
at
IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultMapTest.TestArrayMapping()
in
C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper.Test\NUnit\SqlMapTests\ResultMapTest.cs:line
192
The value (Order_Id in this case) is being returned as a Decimal by
Oracle (as are all numbers). It's the same exception for both MS
OracleClient and ODP (surprising since OracleClient has been doing
better at the tests than ODP). I'm going to try to keep debugging
to see why the TypeHandler changes are causing this error.
Roberto
