- PR -

OracleExceptionについて

1
投稿者投稿内容
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 2005-11-20 15:19
開発環境
ASP.NET 2003
ORACLE10G
WINDOWS XP SP2

いつもお世話になっております。

ASP.NETとORACLE10gにて開発を行っているのですが
あるタイミングで下記のエラーが発生してしまいます。
「データ・プロバイダの内部エラーが発生しました。(-3000)」

あるタイミングというのは、
デバッグ環境でプログラムを実行、ブラウザを閉じてデバッグを停止。
再度、デバッグ環境でプログラムを実行したところ、DBをオープンするところでOracleExceptionがエラーを返してきます。(起こったり起こらなかったりします)。
aspnet_wp.exeのプロセスを終了すると、上記のエラーは出なくなるのですが
プロセスを終了しない限りエラーが出てからは何回実行してもエラーが発生します。
asp.netがプロセスを掴んだままとも思うのですが、具体的な対策がなく困っています。

開発環境を詳しく言いますと
ORACLE10GデータベースをWINDOWS 2003 SERVERにインストールし
WINDOWS XP にORACLE10G_CLIENTをインストール。
その後ODP.NETをインストールしてASP.NETで開発をしています。

ネットで調べたのですが、上記のエラー部分の詳細はどこにものっておりませんでした。

どなたか、ヒントでも構いませんので御教示下さい。
宜しくお願いします。





じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-20 15:59
引用:

パクジンさんの書き込み (2005-11-20 15:19) より:

aspnet_wp.exeのプロセスを終了すると、上記のエラーは出なくなるのですが
プロセスを終了しない限りエラーが出てからは何回実行してもエラーが発生します。
asp.netがプロセスを掴んだままとも思うのですが、具体的な対策がなく困っています。


対策の前に原因ですよね。
そのために最初に知っておくべきなのは、

引用:

デバッグ環境でプログラムを実行、ブラウザを閉じてデバッグを停止。


この状況です。
OracleConnection を開きっぱなしで停止になっていることはありえないでしょうか?
どの状況でブラウザを閉じているのかを教えて頂けませんか?

普通は、使う直前に Open、使わなくなったらなるべく早く Close しますし、
using または finally で必ず閉じる (破棄する) ように実装しているハズなので、
あり得ないとは思いますが、念のために書きました。

資源の解放を適切にしていても以下のような問題があるやもしれませんが、今回とは少々違いますね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7435&forum=7

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-20 20:35
引用:

じゃんぬねっとさんの書き込み (2005-11-20 15:59) より:

普通は、使う直前に Open、使わなくなったらなるべく早く Close しますし、
using または finally で必ず閉じる (破棄する) ように実装しているハズなので、
あり得ないとは思いますが、念のために書きました。



ん〜?
「あるページで Open して、あるページで Close する」、という仕様にしている質問は、よくあります。


 なので、open/close のタイミングを明らかにしてください > パクジンさん
___________________________________________________________________
□ written by Jitta on 2005/11/20
□ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006
_________________
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-21 09:29
引用:

Jittaさんの書き込み (2005-11-20 20:35) より:

ん〜?
「あるページで Open して、あるページで Close する」、という仕様にしている質問は、よくあります。


マジっすか! セッションに入れてるのかな!?
(決して良い方法ではないと私は理解しています)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
パクジン
ベテラン
会議室デビュー日: 2004/08/19
投稿数: 50
投稿日時: 2005-11-21 13:48
お世話になっております。

引用--------------------------------------------------------------------------
じゃんぬねっとさんの書き込み(2005-11-20 15:59)より
OracleConnection を開きっぱなしで停止になっていることはありえないでしょうか?
どの状況でブラウザを閉じているのかを教えて頂けませんか?
------------------------------------------------------------------------------
引用--------------------------------------------------------------------------
Jittaさんの書き込み(2005-11-20 20:35)より
「あるページで Open して、あるページで Close する」、という仕様にしている質問は、よくあります。
なので、open/close のタイミングを明らかにしてください
------------------------------------------------------------------------------

じゃんぬねっとさん、Jittaさん御返答ありがとうございます。
プログラムはイベント毎にデータベースをOPENした場合必ず最後にCLOSEし
コネクションも解放しています。

いろいろ試した結果(ODP.NETにパッチを当てたり、ORACLE_HOME_CLIENTを再インストールしたり)
Oracle/product/10.1.0にだけASPNETの権限を与えていましたが、
サブディレクトリにもASPNETの権限を付与したところ、エラーはなくなりました。

ご迷惑をお掛けしました。
ありがとうございました。




1

スキルアップ/キャリアアップ(JOB@IT)