人気ブログランキング | 話題のタグを見る

.NET Managed Provider for Oracleのバグ

.NETアプリケーションから.NET Managed Provider for Oracleを使って、Oracle上のデータベースリンクを使っているストアドプロシージャを起動すると、「ORA-02041:クライアントデータベースはトランザクションを開始できませんでした」という例外が発生してしまい動かない。また、データベースリンクを使っていなくても、呼び出したストアドの中で「Rollback」が実行されると同じエラーが出て落ちてしまう。

この原因は、.NET Managed Provider for OracleとOracle Client 8を組み合わせて使ったときに起きる不具合らしい。回避方法としては、.NET Managed Provider for Oracleの使用をやめて、ODP.NETに変更し、接続文字列にenlist=false;を入れる。
もしくは、OracleClientを9にバージョンアップする。(今回はこれで対応予定)
#マイクロソフトから修正パッチも出ているみたいだけど、どうやって入手するのかよくわからない。。

コイツのお陰で終電までかかっちゃった(/_;)。
しかも、明日からOracle Clientのバージョンアップとこれまで作ったアプリの動作確認もしないといけない。がっくりorz
by love-republic | 2004-09-02 04:20 | +Programming
<< 釧路空港到着! くるま好き >>