甲骨文:算术运算导致溢出甲骨文、算术

2023-09-03 17:07:11 作者:㈠朶高傲的花

我的查询拉两个字符串 - 没有数字类型可言,但Oracle客户端给了我上面的异常。任何想法?

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

  SELECT PROJECT_NAME
        ,PROJECT_TITLE
        ,PROJECT_NAME作为JOB2
        ,PROJECT_NAME作为作业1
 从PROJ
 

下面是例外:

 出现System.OverflowException:算术运算导致溢出。
   在System.Data.Odbc.OdbcDataReader.FirstResult()
   在System.Data.Odbc.OdbcCommand.ExecuteReaderObject(的CommandBehavior行为,串法,布尔needReader,对象[] methodArguments,SQL_API odbcApiMethod)
   在System.Data.Odbc.OdbcCommand.ExecuteReaderObject(的CommandBehavior行为,串法,布尔needReader)
   在System.Data.Odbc.OdbcCommand.ExecuteReader(的CommandBehavior行为)
   在System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(的CommandBehavior行为)
   在System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(的CommandBehavior行为)
   在System.Data.Common.DbDataAdapter.FillInternal(数据集的数据集,数据表[]的数据表,的Int32 startRecord用于,的Int32最大记录,字符串srcTable要,IDbCommand的命令的CommandBehavior行为)
   在System.Data.Common.DbDataAdapter.Fill(数据集数据集的Int32 startRecord用于,的Int32最大记录,字符串srcTable要,IDbCommand的命令的CommandBehavior行为)
   在System.Data.Common.DbDataAdapter.Fill(数据集数据集)
   在Partners.Core.Data.Database.FillDataSet;在C(数据集和放大器的数据集,IDbCommand的命令字符串[]表名):\ Dropbox的\ SVN \ \合作伙伴库\内部\ Partners.Core \ DATA \ Database.cs:行999
 
在quartusii如何设计出一个 3 位的十进制加法计数器的原理以及它的设计电 从算盘到计算机,从十进制到二进制,人类计算能力的提升...

解决方案

现在我还记得,我以前见过这种拍摄。 Oracle客户端只有32位。所以我的.NET应用程序需要被编译的x86。很烦人!而该消息是如此的欺骗性。

My query pulls two strings - no numeric types at all, yet the Oracle client gives me the exception above. Any ideas?

Here is the query - all fields are strings:

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

Here is the exception:

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

解决方案

Shoot now I recall that I have seen this before. The Oracle client is 32-bit only. And so my .NET app needs to be x86 compiled. So annoying! And the message is so deceptive.