Delphi 6 アプリケーションを Delphi 2007 に移植し、BDE を使用して Oracle 9i データベースに接続しました。私は取得しています
ORA-01426: 数値オーバーフロー例外
ストアド プロシージャを実行するとき。これはランダムに発生し、同じパラメーターを使用してアプリケーションを介してストアド プロシージャを再実行すると、例外は発生しません。
古い Delphi 6 アプリケーションは問題なく動作します。
アイデアはありますか?
Delphi 6 アプリケーションを Delphi 2007 に移植し、BDE を使用して Oracle 9i データベースに接続しました。私は取得しています
ORA-01426: 数値オーバーフロー例外
ストアド プロシージャを実行するとき。これはランダムに発生し、同じパラメーターを使用してアプリケーションを介してストアド プロシージャを再実行すると、例外は発生しません。
古い Delphi 6 アプリケーションは問題なく動作します。
アイデアはありますか?
コード例を示すとこれが簡単になるかもしれませんが、ここにいくつかの予感があります:
明示的なデータ型を持たない別のソース (Excel など) からのデータですか? 混合データまたはあいまいなデータにより、BDE が誤ったデータ型をフィールドに割り当て、データベース フィールドと互換性がなくなる可能性があります。
数値の書式設定の問題である可能性があります (一部の米国中心のコンポーネントはローカライズを適切に処理しません)。ローカリゼーションは英語 (US) 以外ですか? そうですか、英語 (US) に変更すると問題は解決しますか?
これらが完全に欠落している場合は、詳細が役立つ場合があります。
アプリの D6 バージョンは、同じバージョンの BDE、Oracle、およびデータベースを使用していますか? もしそうなら、それはおそらく渡されるデータに関するものです(コンテンツまたはメカニズムのいずれか)。
それらのデータが何であるか、またはそれらがどのように渡されるかがわからないため、診断がかなり難しくなります。