- ベストアンサー
オラクル接続をopenしようとすると、時折「致命的なエラーです。」が発生し困っています。
Windwos2000Server(IIS5)上で ASPにてOracle9.2にODBC接続をしています。 通常は問題なく接続できるのですが、 時折、致命的なエラー(エラー番号:-2147418113)が発生し、 そのあと、別のブラウザでページを呼び出してもオラクルに接続できず、検索結果が表示できなくなってしまいます。 対処法・原因などをご存知の方、お助けください。 エラーの発生するソースです**************************************** Set objCn = Server.CreateObject("ADODB.Connection") With objCn .ConnectionTimeout = 15 .CommandTimeout = 300 .Errors.Clear .Open DRIVER={Oracle in OraHome92};UID=xxx;DBQ=xxx;PWD=xxx; End With **************************************** open の時点で、エラーが発生します。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 エラー後、オラクルを再起動し同じ処理をした場合正常に動作しますか? クローズ処理漏れって事は無いですか?
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
サーバ上のコンソールで発生するのでしょうか? DBサーバへのPING、TNSLISTERで作成してあるサーバ接続文字列へのTNSPINGは飛びますか?
お礼
ありがとうございました。 初めての利用で、 いきなり補足に書いてしまった無礼をお許しください。 エラーはDBとは別のWEBサーバにて発生いたします。 ちょうどエラーが発生してしまったため、 ping,tnspingを試してみましたが、通りました。 落ち着いてエラーログを読むと、 open時にエラーは発生せず、 オープンしているはずのConnectionで レコードセットを開こうとすると、エラーが発生しているようです。 また、何かご存知でしたら、 ご意見いただけますと幸いでございます。 ありがとうございます。
補足
TNSPINGは試したことがありませんでしたので、試してみます。 エラーはWEBサーバで発生します。 (WEBサーバとDBサーバは別筐体です。) VBScriptでエラーログを出力するようにしておりまして、 ASPの中身**************************************** Set ObjAdoErr = Server.CreateObject("ADODB.Error") For Each ObjAdoErr In objCn.Errors if ObjAdoErr.Number <> 0 Then Call AddMsgLog("Number: " & ObjAdoErr.Number ) Call AddMsgLog("NativeError: " & ObjAdoErr.NativeError ) Call AddMsgLog("Description: " & ObjAdoErr.Description ) Call AddMsgLog("Source: " & ObjAdoErr.Source ) Call AddMsgLog("SQLState: " & ObjAdoErr.SQLState ) End if Next *********************************************** ログファイルの内容 Number: -2147418113 NativeError: -2147418113 Description: 致命的なエラーです。 Source: Provider SQLState: となります。
お礼
ご意見頂戴しまして、ありがとうございました。 お礼より先に補足を書いてしまったこと、お許しください。 エラーはDBとは別筐体のWEBサーバにて発生しております。 Close処理漏れが無いか、ソースを追いかけます。 ありがとうございました。 また、何かご存知の事がございましたら、 ヒントをいただけると幸いでございます。
補足
質問が分かりにくくて、申し訳ありません。 WEBサーバとDBサーバは別筐体でして、 エラーはASP(VBScript)で発生します。 クローズ処理漏れ・・・ですか。 ASPファイル内でOPENしてCLOSEしております。 基本的に、処理漏れは無いと思い込んでおりますが、もう一度、見直してみます。 1つのASPファイルで、DBをOPENして、検索結果を出力して、DBをクローズします。 検索結果の表示中にページを閉じても、ASPは最後まで処理されますよね。 もしかして、DBを閉じる前に、処理が中止されているのでしょうか