将数字类型转换为数字类型时发生算术溢出错误



在过去的几周里,我客户的客户在他们的网站上运行任何类型的查询时都收到以下错误。我不精通SQL,所以任何帮助将不胜感激。

堆栈跟踪:

[SqlException (0x80131904):算术溢出错误转换[数值到数据类型数值]
System.Data.SqlClient.SqlConnection。OnError (SqlException异常,breakConnection) +1951066
System.Data.SqlClient.SqlInternalConnection.OnError (SqlException异常异常,Boolean breakConnection) +4847051
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObjectstatobj) +194 System.Data.SqlClient.TdsParser.Run(RunBehavior . runrunBehavior, SqlCommand cmdHandler, SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObjectstatobj) +2392 System.Data.SqlClient.SqlDataReader.HasMoreRows()+ 157 System.Data.SqlClient.SqlDataReader。ReadInternal(Boolean setTimeout) +197 System.Data.SqlClient.SqlDataReader.Read() +9
System.Data.Common.DataAdapter。FillLoadDataRow (SchemaMapping映射)+ 78 System.Data.Common.DataAdapter。DataTable, DataTable, stringsrctable, DataReaderContainer, datarereader,Int32 startRecord, Int32 maxRecords, dataccolumn, parentChapterColumn,对象parentChapterValue) +164
System.Data.Common.DataAdapter。填充数据集数据集,字符串srcTableIDataReader dataReader, Int32 startRecord, Int32 maxRecords) +353
System.Data.Common.DbDataAdapter。FillInternal(数据集的数据集,DataTable[] DataTable, Int32 startRecord, Int32 maxRecords, StringsrcTable, IDbCommand命令,CommandBehavior行为)+164
System.Data.Common.DbDataAdapter。填充(DataSet DataSet, Int32startRecord, Int32 maxRecords, String srcTable, IDbCommand命令,CommandBehavior行为)+287
System.Data.Common.DbDataAdapter。填充数据集数据集,字符串srcTable) + 92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect (DataSourceSelectArgumentssystem . web . ui . webcontrols . repeat . getdata () +35
System.Web.UI.WebControls.Repeater.CreateControlHierarchy(布尔useDataSource) + 220
System.Web.UI.WebControls.Repeater。OnDataBinding(EventArgs e) +51
System.Web.UI.WebControls.Repeater.DataBind () + 75
System.Web.UI.WebControls.Repeater.EnsureDataBound () + 55
System.Web.UI.WebControls.Repeater。OnPreRender(EventArgs e) +15
System.Web.UI.Control.PreRenderRecursiveInternal () + 80
System.Web.UI.Control.PreRenderRecursiveInternal () + 171
System.Web.UI.Control.PreRenderRecursiveInternal () + 171
System.Web.UI.Control.PreRenderRecursiveInternal () + 171
System.Web.UI.Control.PreRenderRecursiveInternal () + 171
System.Web.UI.Page.ProcessRequestMain(布尔包括destagesbeforeasyncpoint,布尔值包括destagesafterasyncpoint+ 842

查看位置:

  1. 有一个更新查询,试图用一个更大的数字数据类型(如单或双)改变一个int(或其他一些小数字数据类型)。
  2. 正在尝试一个具有相同条件的isert

专注于寻找一些改变数值字段值的东西,并检查哪些数据类型正在尝试进行这些改变。当您看到不匹配时,这很可能是您的罪魁祸首。

change sum(col1) to sum(cast(col1 as bigint))动态更改当前列的类型,或者在表设计模式下更改。

最新更新