![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
お世話になります。当方、Windows Server 2003 R2 SP1 で IIS6.0 を使用しています。
サーバ側に設置しているmdbファイルをODBCでシステムDSNに登録し、ASPから
接続しております。
メンテナンスなどで直接mdbファイルを開いている時に、ASPのページに
アクセスすると以下のエラーメッセージが出て正常表示が出来なくなります。
========================================================
HTTP 500.100 - 内部サーバー エラー - ASP エラー
インターネット インフォメーション サービス
--------------------------------------------------------
エラー タイプ
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] '(不明)' は既に使用されているので、使用できませんでした。
========================================================
mdbファイルを直接開いても、ASP側でもエラー表示されないように
するにはどうしたらよいでしょうか?
ソースは以下のようにしております。
Set cnn=Server.CreateObject("ADODB.Connection")
cnn.open "dummy"
cnn.close
cnn.open "testdb" '// ODBCをtestdbにしています。
SQL = "SELECT * FROM M_USER ORDER BY USERID"
Set rs1 = cnn.Execute(SQL)
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
エラートラップを仕掛けておいて回避するといった方向でしょう
On Error Resume Next
Set cnn=Server.CreateObject("ADODB.Connection")
On Error Goto 0
if not cnn is nothing then
cnn.open "dummy"
cnn.close
cnn.open "testdb" '// ODBCをtestdbにしています。
SQL = "SELECT * FROM M_USER ORDER BY USERID"
On Error Resume Next
Set rs1 = cnn.Execute(SQL)
On Error Goto 0
if not rs1 is nothing then
' 正常に読み込めた場合の処理
else
' 何かのエラーが起きた場合
end if
else
' 何かのエラーが起きた場合
end if
といった具合に トラップを仕掛ける範囲を限定して対処してみましょう
cnn.Open でエラーになっているなら
on error resume next
cnn.Open "testdb"
if err.number<>0 then
' Open失敗時の処理
end if
on error goto 0
といった具合かと
この回答への補足
エラーの件、自己解決しましたのでご報告いたします。
mdbファイルを設置しているディレクトリのアクセス権限が
ないことによる現象だったようです。
テスト的に、Usersにフルコントロールを設定したところ、
直接mdbファイルを開いていても、asp側で問題なくOpenできました。
#ただ、直接mdbファイルを開いていない時は問題なくasp側でOpenが
出来ていて、なぜUsersに権限がないと直接開いている時にエラーに
なるのかはよくわからないままです…。
今回はたまたま解決できましたが、いつ原因不明のエラーと出くわすか
わからないので、redfox63様のご回答どおり、エラートラップも
ちゃんと対応していきたいと思います。
この度は本当にありがとうございました。
redfox63様、ご回答ありがとうございます。
エラートラップでエラー表示そのものは回避できるかと思いますが、
今回は、asp側でのエラーの根本的な解決をしたいと考えております。
曖昧な情報で申し訳ないのですが、現在のサーバにリプレイスする前は
直接mdbファイルを開いていても、asp側でも正常にOpen出来ていたため、
排他で開かない設定方法があるのではないかと思い、ご相談した次第です。
リプレイス前と現在はプログラムソースは変更ありませんので、
ODBCの設定で何かあるのかと思ったのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- iOS HDD交換修理したWindows10・PCのOFFICE プロダクトキーがエラーとなる 2 2023/04/01 02:17
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Debug Assertion Failed?
-
ホームページビルダーの”全体の...
-
VBAでFormat がうまく使えない
-
VBAでon error goto文がきかない
-
エラーコード 70 「書き込み...
-
EXCELを開くとエラーがでます。
-
Excel ファイルに保存すると実...
-
Access ADOで文字列を日付型へi...
-
シェルスクリプトの実行エラー...
-
CreateObjectでエラー
-
バッチ処理について
-
実行時エラー'1004': アプリケ...
-
SonicStageについて(SONYのWal...
-
xmlドキュメントから別拡張子で...
-
W3CのCSS検証エラーについて
-
NET USE コマンドでエ...
-
CD(音楽)→PC→(空の)C...
-
ACCESS VBAのOpenForm書き方
-
マクロのエラー原因&解決策を教...
-
FileUploadを利用しての画像保存
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
POV-Ray についての質問です!
-
Excel ファイルに保存すると実...
-
不明なソフトウェア例外(0xe06...
-
ホームページビルダーの”全体の...
-
シェルスクリプトの実行エラー...
-
vbaでファイルを開くパス名に変...
-
エラーコード 70 「書き込み...
-
図形のクリアで実行時の1004エ...
-
ACCESS VBAのOpenForm書き方
-
Web.Config 構成ファイルのエラー
-
Access ADOで文字列を日付型へi...
-
C# HttpWebRequestのエラーにつ...
-
LTspiceのTime Stepエラーについて
-
bcpadがうまく実行できないので...
-
VB5のEXEの起動時エラー
-
xmlドキュメントから別拡張子で...
-
VBAで印刷するとエラーになって...
おすすめ情報