[ http://issues.apache.org/jira/browse/IBATISNET-55?page=all ]

Gilles Bayon reassigned IBATISNET-55:
-------------------------------------

    Assign To: Roberto Rabe  (was: Gilles Bayon)

> ODP.NET 10g (10.1) resultClass InvalidCastExceptions for byte, double, and 
> float
> --------------------------------------------------------------------------------
>
>          Key: IBATISNET-55
>          URL: http://issues.apache.org/jira/browse/IBATISNET-55
>      Project: iBatis for .NET
>         Type: Task
>     Versions: DataMapper 1.1
>  Environment: Oracle 9i with ODP.NET 10g (10.1)
>     Reporter: Roberto Rabe
>     Assignee: Roberto Rabe
>     Priority: Minor

>
> System.InvalidCastException is thrown when attempting the following (see 
> Oracle ODP NUnit ResultClass.xml for test result comments):
>               <!--
>               Using ODP.NET 10.1
>               Throws System.InvalidCastException
>               at Oracle.DataAccess.Client.OracleDataReader.GetByte(Int32 i)
>               at 
> IBatisNet.DataMapper.TypesHandler.ByteTypeHandler.GetValueByIndex(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\ByteTypeHandler.cs:line
>  69
>               at 
> IBatisNet.DataMapper.TypesHandler.BaseTypeHandler.GetDataBaseValue(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\BaseTypeHandler.cs:line
>  58
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.SetObjectProperty(RequestScope
>  request, ResultMap resultMap, ResultProperty mapping, Object& target, 
> IDataReader reader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  1059
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ApplyResultMap(RequestScope
>  request, IDataReader reader, Object resultObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  403
>               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
>  562
>               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
>  505
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession
>  session, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  486
>               at IBatisNet.DataMapper.SqlMapper.QueryForObject(String 
> statementName, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\SqlMapper.cs:line 
> 489
>               at 
> IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultClassTest.TestByte() in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper.Test\NUnit\SqlMapTests\ResultClassTest.cs:line
>  55
>               -->
>               <statement id="GetByte"
>                                       parameterClass="Int"
>                                       resultClass="byte" >
>                       select 155 from dual where 1 = #value#
>               </statement>    
>               <!--
>               Using ODP.NET 10.1
>               Throws System.InvalidCastException
>               at Oracle.DataAccess.Client.OracleDataReader.GetDouble(Int32 i)
>               at 
> IBatisNet.DataMapper.TypesHandler.DoubleTypeHandler.GetValueByIndex(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\DoubleTypeHandler.cs:line
>  69
>               at 
> IBatisNet.DataMapper.TypesHandler.BaseTypeHandler.GetDataBaseValue(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\BaseTypeHandler.cs:line
>  58
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.SetObjectProperty(RequestScope
>  request, ResultMap resultMap, ResultProperty mapping, Object& target, 
> IDataReader reader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  1059
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ApplyResultMap(RequestScope
>  request, IDataReader reader, Object resultObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  403
>               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
>  562
>               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
>  505
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession
>  session, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  486
>               at IBatisNet.DataMapper.SqlMapper.QueryForObject(String 
> statementName, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\SqlMapper.cs:line 
> 489
>               at 
> IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultClassTest.TestDouble() in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper.Test\NUnit\SqlMapTests\ResultClassTest.cs:line
>  103
>               -->
>               <statement id="GetDouble"
>                                       parameterClass="Int"
>                                       resultClass="double" >
>                       select 99.5 from dual where 1 = #value#
>               </statement>
>               <!--
>               Using ODP.NET 10.1
>               Throws System.InvalidCastException
>               at Oracle.DataAccess.Client.OracleDataReader.GetFloat(Int32 i)
>               at 
> IBatisNet.DataMapper.TypesHandler.SingleTypeHandler.GetValueByIndex(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\SingleTypeHandler.cs:line
>  75
>               at 
> IBatisNet.DataMapper.TypesHandler.BaseTypeHandler.GetDataBaseValue(ResultProperty
>  mapping, IDataReader dataReader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\TypesHandler\BaseTypeHandler.cs:line
>  58
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.SetObjectProperty(RequestScope
>  request, ResultMap resultMap, ResultProperty mapping, Object& target, 
> IDataReader reader) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  1059
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ApplyResultMap(RequestScope
>  request, IDataReader reader, Object resultObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  403
>               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
>  562
>               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
>  505
>               at 
> IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForObject(IDalSession
>  session, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\MappedStatements\MappedStatement.cs:line
>  486
>               at IBatisNet.DataMapper.SqlMapper.QueryForObject(String 
> statementName, Object parameterObject) in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper\SqlMapper.cs:line 
> 489
>               at 
> IBatisNet.DataMapper.Test.NUnit.SqlMapTests.ResultClassTest.TestSingle() in 
> C:\projects\ibatis\asf\trunk\cs\mapper\IBatisNet.DataMapper.Test\NUnit\SqlMapTests\ResultClassTest.cs:line
>  161
>               -->
>               <statement id="GetSingle"
>                                       parameterClass="Int"
>                                       resultClass="float" >
>                       select 92233.5 from dual where 1 = #value#
>               </statement>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to