KeyFansClub

首页 » - 站务讨论区 - » 键社营业部 » 将 expression 转换为数据类型 smallint 时出现算术溢出错误。
水羊 - 2013/5/25 6:42:00
從昨天晚上10點開始發生,之前無此狀況
重新開機後能恢復一下子,但10分鐘後就會那樣
不只是火狐,就連IE過了5分鐘也會出現同樣狀況
然後,不管我重新整理多少次,永遠都是這畫面
當這狀況出現時,我其他網頁的訪問和瀏覽都沒有問題
請問要怎麼解決這狀況?


“/BBS”应用程序中的服务器错误。
将 expression 转换为数据类型 smallint 时出现算术溢出错误。
语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将 expression 转换为数据类型 smallint 时出现算术溢出错误。
语句已终止。

源错误:


[没有相关的源行]


源文件: c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\bbs\5e35a867\1a4fc718\App_Web_hrxuzepv.13.cs    行: 0

堆栈跟踪:


[SqlException (0x80131904): 将 expression 转换为数据类型 smallint 时出现算术溢出错误。
语句已终止。]
  System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1950554
  System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4856747
  System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
  System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1121
  System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +200
  System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954
  System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +162
  System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +175
  System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +137
  Discuz.Data.DbHelper.ExecuteNonQuery(DbConnection connection, CommandType commandType, String commandText, DbParameter[] commandParameters) +69
  Discuz.Data.DbHelper.ExecuteNonQuery(CommandType commandType, String commandText, DbParameter[] commandParameters) +100
  Discuz.Data.SqlServer.DataProvider.UpdateOnlineTime(Int32 oltimeSpan, Int32 uid) +402
  Discuz.Data.OnlineUsers.UpdateOnlineTime(Int32 oltimespan, Int32 uid) +24
  Discuz.Forum.OnlineUsers.UpdateOnlineTime(Int32 oltimespan, Int32 uid) +189
  Discuz.Forum.PageBase..ctor() +2779
  Discuz.Web.forumindex..ctor() +145
  ASP.aspx_16_forumindex_aspx..ctor() in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\bbs\5e35a867\1a4fc718\App_Web_hrxuzepv.13.cs:0
  __ASP.FastObjectFactory_app_web_hrxuzepv.Create_ASP_aspx_16_forumindex_aspx() in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\bbs\5e35a867\1a4fc718\App_Web_hrxuzepv.19.cs:0
  System.Web.Compilation.BuildResultCompiledType.CreateInstance() +32
  System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +119
  System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +33
  System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +40
  System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +160
  System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +93
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155


版本信息: Microsoft .NET Framework 版本:2.0.50727.5466; ASP.NET 版本:2.0.50727.5456
水羊 - 2013/5/26 13:32:00
情況更新
我在圖書館的電腦瀏覽KFC,使用的是IE
圖書館電腦是WIN7,然後發生我上述的狀況了.......
看樣子真的不是我電腦的問題
估計是論壇本身有問題了......
你們最近在後台有修改什麼嗎?
========================================
在學校的圖書館電腦安裝GOOGLE瀏覽器
不登入是沒事,登入後連GOOGLE瀏覽器也淪陷了.......
kameu03 - 2013/5/26 16:14:00
因為換幾台電腦也一樣,問題在登入後才出現,而其他用戶沒遇到這個BUG。
而單單看錯誤提示「将 expression 转换为数据类型 smallint 时出现算术溢出错误。」
估計是你的ID裡,某些數據的數值過大,造成運算後超出smallint 的有效範圍,導致BUG出現。
水羊 - 2013/5/26 16:36:00
[strike]那把水羊砍掉重練吧(誤[/strike]
目前我透過QQ留言給RD了
等RD跟我聯絡,看有沒有辦法......
只擔心真的沒辦法處理....orz
謝謝八爪的問題解析
Roc-Dark - 2013/5/27 1:18:00
问题解决,每月在线时间超出smallint范围(2^15=32768,可能1位是符号位吧)。
已经没有什么可以阻止水羊每月在线542.13小时以上了!

PS:阿勒,这里潜水多久了=v=b
1
查看完整版本: 将 expression 转换为数据类型 smallint 时出现算术溢出错误。