【问题标题】:Oracle: Arithmetic operation resulted in an overflowOracle:算术运算导致溢出
【发布时间】:2013-02-25 21:33:01
【问题描述】:

我的查询提取了两个字符串 - 根本没有数字类型,但 Oracle 客户端给了我上面的异常。有什么想法吗?

这是查询 - 所有字段都是字符串:

 SELECT project_name 
        , project_title
        , project_name as Job2   
        , project_name as Job1  
 FROM PROJ

这是一个例外:

System.OverflowException: Arithmetic operation resulted in an overflow.
   at System.Data.Odbc.OdbcDataReader.FirstResult()
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
   at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at Partners.Core.Data.Database.FillDataSet(DataSet& dataSet, IDbCommand command, String[] tableNames) in c:\Dropbox\svn\partners\libraries\internal\Partners.Core\Data\Database.cs:line 999

【问题讨论】:

  • 这里也不例外。
  • 可能......如果你给我们更多信息......
  • 您为什么不使用 Oracle dB 提供程序?我敢打赌,如果您切换 ODP.NET 甚至尝试 OleDb 来快速证明根本原因,这不会发生
  • 一开始为什么选择PROJ.project_name 3次?
  • 结果被别名到查询中的不同字段。有时他们有不同的名字,但在这种情况下他们没有。

标签: c# .net oracle


【解决方案1】:

现在拍摄 我记得我以前看过这个。 Oracle 客户端只有 32 位。所以我的 .NET 应用程序需要进行 x86 编译。很烦人!而且这个信息太具有欺骗性了。

【讨论】:

  • 您的解决方案适用于类似问题。我在应用程序池不允许 32 位应用程序的 IIS 8 上收到此错误。有些我将该属性设置为true,错误就消失了。谢谢!
  • 只是补充一点信息:如果您要部署到具有 IIS 8 和 Sharepoint 2013 的服务器,“启用 32 位应用程序”标志不会默认情况下工作,而是会使您的应用程序崩溃。 This article 有一个完整的解决方案。 (我在工作中遇到了我们的 IBM System i 及其 IBM 驱动程序的问题。)
【解决方案2】:

http://blogs.msdn.com/b/mariae/archive/2012/07/05/quot-arithmetic-operation-resulted-in-an-overflow-quot-error-running-a-report-that-uses-a-connection-data-source-to-oracle-10.aspx

Oracle ODBC 驱动程序中的错误。它影响版本:Oracle 的 10.2.0.4 到 11.2.0.1,并且只影响 64 位驱动程序(不是 32 位驱动程序)。

编辑(2022 年 1 月):来自 MSDN 的链接已失效。这是 Oracle 页面的链接:https://support.oracle.com/knowledge/Oracle%20Database%20Products/1181253_1.html

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多