首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理打包的十进制字段上的AS400 DB2数据溢出?

如何处理打包的十进制字段上的AS400 DB2数据溢出?
EN

Stack Overflow用户
提问于 2018-08-27 07:06:53
回答 1查看 252关注 0票数 1

我正在使用一台AS400 IBM i-series机器。问题是我的一个文件中有一个packed-decimal字段。该设计将字段长度设为9,但现在我的数据正在增长,当数据大于999999999时,就会发生溢出。因此,对于大于999999999的值,它将变为0,它将在文件中写入剩余的值。由于我的机器负载很高,而且有很多数据,所以我无法更改file design。那么处理这个问题最好的方法是什么呢?

这是个很大的问题,我很感激你的帮助。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-27 14:11:19

您实际上只有两个选择:更改文件或更改代码。

如果您确实拥有10亿记录,并且这是一个关键字段,那么您应该完成更改文件的过程。如果所有这些记录都不需要“活动”,那么您可以将其中一些记录卸载到一个具有额外密钥的“历史”表中,这样您就可以删除记录并重用其中的一些数字。

如果您需要将所有这些数据保存为"live",那么您应该计划拓宽该领域。首先,在另一个库中对文件进行修改。然后操作库列表,用现有代码对其进行测试。根据需要进行修订和汇编。最后,调度已知的有限停机时间,将最新数据放入新文件,并将新文件和程序交换到生产库中。

如果你不想改变你的代码,而不是这个文件,问问你自己为什么要用九位数来描述它。你跳过一大块数字了吗?你是想让某些数字指定一定的含义吗?这些技术比按顺序剔除数字要快得多。您可以更改代码以更改这些数字的分配方式,但如果应用程序的多个部分希望它们按照一定的规则进行操作,那么更改所有这些位置可能要做的工作远远超过更改文件。这可以是好的,也可以是坏的,这取决于应用程序的结构。这是你必须做出的判断。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52034193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档