I got this Error when I used OracleCommand with Parameter which had assigned value and OracleDbType. I resolve it when I assigned parameters DbType instead of OracleDbType (really streingth behavior). I use Oracle 10g and VS2008.
OracleCommand cmd = .....
OracleParameter param = ....
param.Value =..
param.DbType = ..
//caused error>>
//param.OracleDbType = ..
//>>
cmd.Parameters.Add(param)