お世話になります。当方、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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS VBAのOpenForm書き方
-
図形のクリアで実行時の1004エ...
-
POV-Ray についての質問です!
-
VBAでFormat がうまく使えない
-
不明なソフトウェア例外(0xe06...
-
ヘルプファイルはどこにあるの...
-
Web.Config 構成ファイルのエラー
-
DVD-Rなのに再書き込みや削除が...
-
windows defenderで質問です。 ...
-
jw cadの名前をつけて保存・・...
-
Ubuntu18.04 デスクトップにWin...
-
ファイル名の始めに“.”をつけて...
-
Googleドライブにインターネッ...
-
ZIPファイルがwordになります
-
ショートカットファイルが開け...
-
Photoshopを初期化してしまった...
-
メモ帳を保存せずに誤って閉じ...
-
フォルダが消えた
-
WORD2013-作業ファイル作成不能
-
VBAでPDFの中のプロパティを見...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでFormat がうまく使えない
-
ACCESS VBAのOpenForm書き方
-
Debug Assertion Failed?
-
NET USE コマンドでエ...
-
Web.Config 構成ファイルのエラー
-
不明なソフトウェア例外(0xe06...
-
エラーコード 70 「書き込み...
-
シェルスクリプトの実行エラー...
-
Excel ファイルに保存すると実...
-
ホームページビルダーの”全体の...
-
C# HttpWebRequestのエラーにつ...
-
VBAで印刷するとエラーになって...
-
図形のクリアで実行時の1004エ...
-
Eclipseでのエラー検出の機能に...
-
EXCELを開くとエラーがでます。
-
LTspiceのTime Stepエラーについて
-
vbaでファイルを開くパス名に変...
-
bcpadがうまく実行できないので...
-
POV-Ray についての質問です!
-
iphone同期時にエラーが出ます
おすすめ情報