'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数据类型时发生了算术溢出错误。

解决方法:

  1. 检查表达式中涉及到的所有数值,并确保它们的值在 bigint 数据类型的范围内。 如果需要存储更大的数值,可以尝试使用更大的数据类型,例如 decimal。

  2. 检查表达式中是否有除法操作,确保分母不为零。

  3. 检查表达式中是否有乘法操作,确保结果不超过 bigint 数据类型的范围。

  4. 如果可能的话,可以尝试将查询中的表达式拆分为多个步骤,并使用临时变量来存储中间结果。 这样做可以避免溢出错误。

  5. 如果以上方法都无效,可以尝试联系相关技术支持团队或开发人员,以获取更详细的帮助和支持。

希望这些建议对您有帮助!

D365 X++ 报错:'Arithmetic overflow error converting expression to data type bigint.'

原文地址: https://www.cveoy.top/t/topic/fft0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录