I get the same error while testing the 11g client install. I am converting C# VS2003 code Framework 1.1 to C# VS2008 Framework 3.5.
I found a work around but this still needs to be fixed by oracle.
EncoderType = Convert.ToInt32( op2.Value ); gets the error
EncoderType = Convert.ToInt32(op2.Value.ToString()); No error and produces the correct value.
I'm experiencing the same problem after upgrading from odp.net 10.2 to odp.net 11.2.
Assuming param1.value always return a Number(10) and is declared as OracleDbType.Int64...
This code works on odp.net 10.2 but fails on odp.net 11.2
Int64 myvar = Convert.ToInt64(param1.value);
The solution i found for 11.2 is the following but also it fails on 10.2
Oracle.DataAcess.Types.OracleDecimal tempvar = (Oracle.DataAcess.Types.OracleDecimal)param1.value;
Int64 myvar = tempvar.ToInt64();
This is bad, because we have diferent oracle version in development enviroment and testing enviroment.