以前は 32 ビットの C++ がありました。現在、64ビットに移行しています。また、C++ プログラムは Oracle 10g DB とやり取りします。
私たちの C++ プログラムは 32 ビットで問題なく動作していました。しかし、64 ビットに移行した後、次のことを行う 1 つのプログラムで問題に直面しています。
FETCH(EXEC SQL FETCH SUBP1 INTO :newTabRec;)
オラクルDBから。
次のようになると、C++ プログラムの for ループを終了します。
見つかりません(sqlca.sqlcode=1403)
FETCH ステートメントの実行時。
NOT FOUND シナリオで生成された sqlcode は です1403
。しかし、64 ビット C++ に移行すると、sqlcode が表示されず、1403
代わりに別のコードが表示されます7124089117159473
。
sqlcode が ではない1403
ため、プログラムは for ループを終了せず、無限ループに進みます。
正確な sqlcode を取得できない原因は何かありますか?