我有一个使用Oracle.Dataaccess.dll 1.102.4.0(Oracle客户端10g)正常运行的ASP.NET C#Web应用程序。
现在我已经计划将Oracle客户端从10g升级到12c(从10.2.0.3.0升级到12.2.0.1.0,都是32位)
那之后我得到了错误:
System.ArgumentException:ORA-22062:在Oracle.DataAccess.Client.OracleParameter.PreBind_Double(OracleConnection conn,OracleDbType)处,Oracle.DataAccess.Types.OracleDecimal..ctor(字符串numStr,字符串格式)处的输入字符串无效[1,234,578] oracle.DataAccess.Client.OracleParameter.PreBind上的OraDbType)(OracleConnection conn,IntPtr errCtx,Int32 arraySize,Boolean bIsFromEF,Boolean bIsSelectStmt)在Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()在
对于某些搜索,我发现1,234,578
不是正确的数字格式,例如我的Oracle生产数据库中的NLS_NUMERIC_CHARACTERS = '.,'
,或者它与OracleParameter
的{{1 }}或某种DbType
。
请注意,这种情况在旧的Oracle客户端10g中不会出现。
那么如何解决此错误,有人可以提出从Oracle客户端10g升级到12c的建议吗?我搜索并读取到oracle客户端12c向后兼容早期版本,直到出现此错误,甚至可能还会出现更多错误。
我的数据库服务器版本
Oracle Database 11g企业版11.2.0.3.0版-64位生产