アプリ版:「スタンプのみでお礼する」機能のリリースについて

ウィンドウズ2000、OfficeXPのMS ACCESSを使用しています。LAN上の2台のパソコンから、同じホームページアドレスページを同時に閲覧する場合に次のようなエラーが表示されます。
このページはASPファイルであり、内部スクリプトから、同じmdbファイルを読み書きしています。

MicroSoft OLE Provider for ODBC Drivers エラー '80004005'
[Microsoft][ODBC Microsoft Access Driver]マシン'コンピュータ名'のユーザー 'admin'によってロックされているので、更新できませんでした。

adminという名前でサーバーにログインして、mdbファイルを'ロック'した覚えはないのですが…。
また、adminという名前およびパスワードでログインしてみたのですが、できませんでした。

ホームページのフォルダおよびファイルのセキュリティ項目には IUSR_<コンピュータ名>を追加してあり、ASPとmdbファイルの格納されているフォルダおよびファイルにはフルアクセスの権限を持たせています。
一ヶ月ほど前にテストしたときは、LAN上のパソコンから同時に同じページ、同じmdbファイルにアクセスしても、このエラーは表示されませんでした。
特にセキュリティの設定を変更したりはしていませんので
原因がわかりません。
よろしくお願いします。

A 回答 (2件)

Microsoftのサイトにはこのような記述がありますが、どうなんでしょうか?


http://support.microsoft.com/default.aspx?scid=k …

またこちらも参考にしてみてください。
http://tryasp.winscom.co.jp/note/80004005.htm
    • good
    • 1
この回答へのお礼

ara_araさんこんにちは。
エラーの発生したASPファイルをもう一度調べました。

Rec.Update命令を実行中に問題が発生していましたので、
トランザクション処理を確認しましたら、

一度mdbファイルをOpen後、トランザクションを開始して、
トランザクションを閉じるまでの間に、
ファイルのOpenとCloseを複数回行っていました。
(前の担当者さんが作成されたようです)
そこで、Rec.Updateを行った直後に一度トランザクション処理を終了させ、mdbファイルをCloseしました。
すると、例のエラーは発生しなくなりました。

参考URLは(直接ではないですが)解決のヒントになったり、必須情報の確認(私の知らないセキュリティに関する知識等)がありまして、とても参考になりました。
無事解決いたしました。どうもありがとうございました。

お礼日時:2004/03/08 12:12

#1さんのおっしゃる通りで大概解決すると思われます。


MDACの問題やら、再起動やら、権限やら。


あと気になるのは、ldbファイルが残ってるというオチがあったり。。。

一ヶ月前にテストしてASPから更新ができたのなら、IUSRの権限はおそらく問題ないでしょう。
ただし、ASPでバグが出て更新がうまくいかなかった時に、ldbファイルが残ってしまう場合があります。
ldbファイルのことはご存知かと思いますが、簡単にまとめますと
ASPからAccessのファイル(mdb)を排他ロックして開く場合に、ldbファイルを作成します。
(普通に、ローカルのmdbをAccessで開いても、ldbファイルが作成されます。
mdbファイルを閉じたりAccessを終了すると、ldbファイルも削除されます。)
詳しく知りたい場合は、【ldb】で検索して下さい。


というわけで、ldbファイルが残っていたら削除してみて下さい。
    • good
    • 0
この回答へのお礼

blood_kazuakiさんこんにちは。
ACCESS終了時にldbファイルが残っていましたが、
おっしゃるとおりにACCESSを終了したら、自動的に閉じました。
ACCESSが一時的に使用している作業用ファイルなのでしょうか。調べてみます。
エラーの件は無事解決いたしました。
ありがとうございました。

お礼日時:2004/03/08 12:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A