2009-05-15 2 views
1

私は、通常のSQL処理中にレンガの壁に当たっていますDBExpressを使用してOracle 10gでレコードの挿入制限が255になるのはなぜですか?

、dbExpressの/ wのリモート・クライアントからOracle 10gへの接続

- 標準dbxpora.dllを使用して+ OCI.DLL

取引では、後に正確に255個のレコードの挿入、接続が30秒間ハングし、エラーを返します:トランザクションにおけるながら任意のテーブルに255件のレコードを挿入する際

ORA-03114 (as if it lost the connection...)

これが起こります。 (dbボックスでローカルに実行するとすべて正常に動作します)

紛失しているものがありますか?

答えて

0

私は特にOracleデータベースを知らないが、私は255が魔法の数であることを知っている。これは1バイトで表現できる最大値です。おそらくあなたのレコードを数えているByteとして宣言されているものがあります。あなたはそれをあふれています。範囲チェックとオーバーフローチェックをオンにしてプロジェクト全体を再構築してみて、そのときに例外を発生させるかどうかを確認してください。それが実際にコンパイルしているコードであれば、これを追跡するのに役立ちます。それが図書館の1つにある場合、それは役に立たないでしょう。

+0

多分あなたは「(dbボックスのすべてが正常に動作するとローカルで実行されると)逃したでしょう」 – Shane

+0

...ああ。私はそれを間違って読んだ。 DB上でトランザクションを手動で実行することを意味していました。その場合、気にしないでください。それはおそらく整数オーバーフローですが、問題はどこかのトランスポート層にあります。ここで適切な回答が得られない場合は、Oracleに報告してください。 –

+0

ありがとう...しかし、私はトランスポート層で正しいと思っています。 DBExpressとOracle10g。 – Shane

関連する問題