こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

同時アクセスの時って...

Windows2000のPWS(パーソナルウェブサーバー)でASP(VBScriptとJavaScript)とmdbファイルを使ったプログラム(チャットロボット)を作っています。
チャットプログラムでmdbファイルを読み書きする構造です。
チャットなので、複数の方が同時に発言(submit)ボタンを
押すことがよくあります。
【LAN上のそれぞれのパソコンのブラウザでチャットプログラムのURLを開いて、同時に発言ボタンを押した場合です。】
このとき、一つのmdbファイルを同時に(同じタイミングで)呼ぶ場合、下記のようなエラーが出ます。

Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'

[Microsoft][ODBC Microsoft Access Driver] '(データベースファイル名)' は既に使用されているので、使用できませんでした。

ASPでトランザクション処理をしていますのでデータ(ログ・発言時刻・辞書ファイル等)の損失は無いと思います。
しかし、エラーメッセージがでて、チャットが中断してしまうので、困っています。
同じmdbファイルをアクセスする場合に、このようなエラー
メッセージを出さないようにすることはできますか?

投稿日時 - 2004-01-22 20:29:02

QNo.758211

困ってます

質問者が選んだベストアンサー

Microsoftのサポートページには、このエラーの原因は次のようにかかれていました:

データベースを複数のユーザーに対して正しくロックできません。

解決方法は:

IUSR_<machinename> のアカウントの権限を変更し、ASPのファイルとDBがあるフォルダにフル権限をあたえる

ということでした。 このサポートページを参考URLに記入しましたので、ごらんになってください。

参考URL:http://support.microsoft.com/default.aspx?scid=kb;EN-US;174943

投稿日時 - 2004-01-24 01:45:24

お礼

mudpuppyさん、こんにちは。早速ご回答下さりありがとうございます。
>IUSR_<machinename> のアカウントの権限を変更し、ASPのファイルとDBがあるフォルダにフル権限をあたえる

ASPファイル、DBファイルそれぞれのあるフォルダのWeb共有タグで読み取りと書き込みの権限を与えました
各フォルダのプロパティ>共有タグで(machinename)_IUSR<mashinename>を追加してフルアクセスにしました。
各ファイルもすべてプロパティ>セキュリティタグで、インターネットゲストアカウント(machinename)_IUSR_(machinename)の項目を追加してフルアクセスにしました。しかし、エラーは出るようです。
サポートページを見たのですが、具体的な変更点や対策について、よく理解できません。
よろしくお願いします。

投稿日時 - 2004-01-24 09:37:28

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

Great!!

投稿日時 - 2004-01-24 23:32:18

ANo.2

この問題が、アクセス権限の問題かどうかを確認する必要があります。

トラブルシューティングとして、IUSR_<machinename>を、サーバの管理者グループに入れてみてください。

もし、これをすることによって問題が解決するならば、これはアクセス権限の問題です。 もし解決しないならば、別の解決方法を考える必要がありますね。

トラブルシューティングが終わったら、管理者グループからはずしてください。

--I hope this fixes it.

投稿日時 - 2004-01-24 16:01:30

補足

mudpuppyさん、エラーが直りました。
IISのInetpubフォルダのプロパティ>セキュリティタグで
IUSR<マシンネーム>を追加したら、その内部のフォルダやファイルまで自動的に追加されましたので、その状態で
LAN上の2台のパソコンのブラウザで同時に送信ボタンを押しました。いろいろなタイミング(すこしずらしたり、完全に同時に押したり)しましたが、まったくエラーは出なくなりました。ありがとうございました。

投稿日時 - 2004-01-24 22:48:43

お礼

スタートメニュー>コントロールパネル>管理ツール>コンピュータの管理>ローカルユーザーとグループで、
ユーザーの項目にはすでにIUSR_<マシンネーム>はありました。
しかしグループの項目にはありません。
新規でIUSR_<マシンネーム>を追加しようとすると、
ユーザーまたはグループの選択を選ぶようなダイアログが開きます。ここには何を入れればいいのでしょうか?
昨日WINDOWS2000をインストールしたばかりでよくわかりません。よろしくお願いします。

投稿日時 - 2004-01-24 22:34:45

あなたにオススメの質問