D365 X++ 报错:'Arithmetic overflow error converting expression to data type bigint.'
'Arithmetic overflow error converting expression to data type bigint.' 是 D365 X++ 中常见的 SQL Server 错误。这个错误通常发生在执行查询时,尝试将一个表达式转换为 bigint 数据类型时,但表达式结果超过了 bigint 的范围。
错误信息:
session 365302 (Admin)
SELECT TOP 1 T1.AMOUNTCURDEBIT,T1.OFFSETLEDGERDIMENSION,T1.RECID FROM LEDGERJOURNALTRANS T1 WHERE (((PARTITION=5637144576) AND (DATAAREAID=N'mtx')) AND (TXT=(?+?))) ORDER BY T1.CREATEDDATETIME DESC
[Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Arithmetic overflow error converting expression to data type bigint.
Object Server Azure:
仕訳帳明細行 のレコードを選択できません (LedgerJournalTrans)。 SQL データベースによってエラーが出されました。内容:这个错误是由于在执行查询时,将一个表达式转换为bigint数据类型时发生了算术溢出错误。
解决方法:
-
检查表达式中涉及到的所有数值,并确保它们的值在 bigint 数据类型的范围内。 如果需要存储更大的数值,可以尝试使用更大的数据类型,例如 decimal。
-
检查表达式中是否有除法操作,确保分母不为零。
-
检查表达式中是否有乘法操作,确保结果不超过 bigint 数据类型的范围。
-
如果可能的话,可以尝试将查询中的表达式拆分为多个步骤,并使用临时变量来存储中间结果。 这样做可以避免溢出错误。
-
如果以上方法都无效,可以尝试联系相关技术支持团队或开发人员,以获取更详细的帮助和支持。
希望这些建议对您有帮助!
原文地址: https://www.cveoy.top/t/topic/fft0 著作权归作者所有。请勿转载和采集!