转换成int数据时出现数据溢出
作者:动易软件
来源:本站原创
点击数: 次
发布时间:2023年06月05日
问题:在全文检索系统日志中,全文检索-关键词自动入库处理队列出现异常:System.Data.SqlClient.SqlException (0x80131904): 将 expression 转换为数据类型 int 时出现算术溢出错误。语句已终止。
排查:
SELECT top 100 *
ROM [dbo].[PE_FulltextSearch_WordInfo]
order by [SearchCount] desc
SELECT top 100
[SearchKeywordRecordId]
,[SearchKeyword]
,[SearchCount]
,[SearchLastTime]
FROM [dbo].[PE_FulltextSearch_SearchKeywordRecord]
order by [SearchCount] desc
serachCount 字段是int类型,如果超过2147483647,则会溢出,
所以在数据库中不影响关键词从大到小排序的情况下,修改该关键词serachCount 的值,先务必备份好数据库,然后在数据库中执行以下语句:
update [dbo].[PE_FulltextSearch_WordInfo] set SearchCount=xxx xxx值尽量大于排序后一位的值,远小于 2147483647