我们是
- 使用应用程序引擎 (AE) 程序
- 保存/插入记录
GP_ABS_EVENT
- 通过交付的组件接口 (CI)
GP_ABSENCE_EVENT
。
AE 程序随机失败。但是,如果我们再次使用相同的数据重新运行 AE 程序,它将运行成功。
经过调试,我们发现如下错误信息
Fatal SQL error occurred. (2,125) FUNCLIB_GP_ABS.TRANSACTION_NBR.FieldFormula Name:GetNextTransNbr PCPC:143 Statement:2
Called from:GP_ABS_EVENT.EMPLID.SavePreChange Statement:8
Error saving Component Interface. {GP_ABSENCE_EVENT} (91,37)
Internal Error: invalid transaction handle instance passed from SamDestroy 3: 54818 vs 0
它正在调用 peoplecode 函数GetNextNumberWithGapsCommit。
我们已经尝试了 Oracle 建议的操作(在 Application Server 配置中修改DbFlags值DbFlags = 8
),但仍然无法解决问题。我们也尝试过设置DbFlags = 0
,DbFlags = 1
但没有运气。
我不知道这个错误是什么。
有没有人遇到过这个问题?
请告知此错误是什么以及如何跟踪/解决此问题。非常感谢!
#更新1
在 prod env 中,我们有 2 个 App 服务器和 2 个进程服务器,它们连接到一个 MSSQL DB。
到目前为止,我在 prod env 中尝试了以下内容
- 尝试
DbFlags = 0 | 1 | 8
在所有应用程序/进程服务器中设置,但发生相同的错误。 DISABLE RESTART
在 AE 中未选中/选中
由于此问题在 prod 中随机发生,并且我无法在我们的 UAT 环境中模拟相同的问题,因此我settracesql(3)
在 PROD 环境中添加了该问题,以查看当此错误再次发生时是否可以找到更详细的日志。