2

我将一个 Delphi 6 应用程序移植到 Delphi 2007,它使用 BDE 连接到一个 Oracle 9i 数据库。我得到一个

ORA-01426: 数值溢出异常

当我执行存储过程时。这是随机发生的,如果我使用相同的参数通过应用程序重新运行存储过程,则不会发生异常。

旧的 Delphi 6 应用程序工作得很好。

任何人的想法?

4

2 回答 2

2

显示一个代码示例可以使这更容易,但这里有一些预感:

  1. 数据是否来自没有明确数据类型的其他来源(如 Excel)?混合或不明确的数据可能会导致 BDE 将错误的数据类型分配给与数据库字段不兼容的字段。

  2. 可能是数字格式问题(某些以美国为中心的组件无法正确处理本地化)。您的本地化不是英语(美国)吗?是这样,将其更改为英语(美国)可以解决问题吗?

如果这些完全错过,更多细节可能会有所帮助。

于 2008-12-09T02:11:38.190 回答
0

应用程序的 D6 版本是否使用相同版本的 BDE、Oracle 和数据库?如果是这样,那么它可能与传递的数据有关(内容或机制)。

不知道这些数据是什么,也不知道它们是如何传递的,这使得诊断变得非常困难。

于 2008-12-10T01:50:58.310 回答