- - PR -
ODP.NETでストール、異常終了してしまう
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-12 23:23
C#.NET(.NET Framework 1.0a)
ODP for .NET(9.2.0.2) Oracle9i(9.2.0.2) でWindowsアプリの開発を行っています。 接続文字列で「Pooling=true」を指定し DB接続 コマンド発行(Reader or ExecuteNonQuery) 接続クローズ(使用したReader,CommandのDisposeも実行) を繰り返していると、(繰り返しの回数は不定です) アプリケーションがストールしたり、 いきなり終了してしまう現象が発生しています。 試しに、「Pooling=false」で接続すると上記の現象は発生しませんでした。 Oracle周りの操作をクラス化しています。 このクラスの作り方に問題があるのでしょうか? それとも、他に原因があるのでしょうか? よろしくお願いします。
[ メッセージ編集済み 編集者: KATSU 編集日時 2003-11-12 23:25 ] [ メッセージ編集済み 編集者: KATSU 編集日時 2003-11-12 23:29 ] | ||||
|
投稿日時: 2003-11-26 18:29
自分も似たような状況が発生しています。
異状終了する際に、何かエラーは吐き出されていませんか? 自分の場合は、Oracle側から、Data Provider Internal Error(-3000)と 言うエラーが吐き出されております。 | ||||
|
投稿日時: 2003-11-26 21:41
返答ありがとうございます。
(半ばあきらめていましたが...)
エラーは、何処に吐き出されていますか? sqlnet.log? それとも上記の例外が「ODP for .NET」から スローされているということでしょうか? 投稿後プログラムソースを再度読み返したところ、 Reader.Dispose(); Command.Dispose(); していない箇所が見つかり訂正したところ、 問題の現象が発生する頻度が減りましたが、 ゼロにはなりませんでした。 結局「Pooling=false」でリリースしました。 「Pooling=true」に比較すると若干レスポンスが落ちますが、 使用に差し支えないレスポンスが出ていることと 安定動作には替えられませんので... | ||||
|
投稿日時: 2003-11-27 13:17
Catchで取れると思いますが。
あと、アメリカのオラクルのBBSにも同じ現象が発生している事を オラクルも知っているみたいで、BBSには次のバージョンで 対応すると書いてあります。 Try OraCon.Open() 'DB接続OPEN OraCmd.ExecuteNonQuery() OraCon.Close() 'DB接続CLOSE Catch ex As OracleException ExceptionErrorMessage = ex.Message() End Try _________________ | ||||
|
投稿日時: 2003-11-27 14:11
KOBE0927 さん
有用な情報ありがとうございます。 私が試していたときには Catch 出来ずにいきなり異常終了したように見えたので... 再度試してみます。 OracleのBBSも再度検索してみます。 ありがとうございました。 [ メッセージ編集済み 編集者: KATSU 編集日時 2003-11-27 17:47 ] | ||||
|
投稿日時: 2003-11-27 17:30
自分の場合ですが、
VB側から、オラクルのプロシージャ-をコールして、 検索した結果をカーソルでもらう処理をしていますが、 オラクル側でExceptionが発生した場合に、 カーソルに何もセットしない時に、エラーが発生したり発生しなかたりの 現象が発生していましたが、Exceptionが発生した時に カーソルに何でも良いので値をセットする事で、 この現象は回避されました。 _________________ | ||||
|
投稿日時: 2003-11-27 18:01
私の方はストアドをコールしていないところで発生
しているので、異なる問題かも知れません。 ODPのリリースノートにも書いてあるのですが、 現行のリリースにはメモリリークのバグもあるようですので、 この辺りとの関連もあるかも? Pooling=true との関係も断言できませんが、 Pooling=false だと安定したことは事実です。 ひどい時には、コマンドボタンのデリゲートされるハズの プロシジャーが全く反応しなくなるような現象も起きました。 また、なにかわかったらココにあげさせてもらいます。 |
1