Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • 締切済み

ODBCエラー「admin」によってロックされている...

ウィンドウズ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ファイルにアクセスしても、このエラーは表示されませんでした。 特にセキュリティの設定を変更したりはしていませんので 原因がわかりません。 よろしくお願いします。

みんなの回答

回答No.2

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

quick-nono
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.1

Microsoftのサイトにはこのような記述がありますが、どうなんでしょうか? http://support.microsoft.com/default.aspx?scid=kb;ja;JP436540 またこちらも参考にしてみてください。 http://tryasp.winscom.co.jp/note/80004005.htm

quick-nono
質問者

お礼

ara_araさんこんにちは。 エラーの発生したASPファイルをもう一度調べました。 Rec.Update命令を実行中に問題が発生していましたので、 トランザクション処理を確認しましたら、 一度mdbファイルをOpen後、トランザクションを開始して、 トランザクションを閉じるまでの間に、 ファイルのOpenとCloseを複数回行っていました。 (前の担当者さんが作成されたようです) そこで、Rec.Updateを行った直後に一度トランザクション処理を終了させ、mdbファイルをCloseしました。 すると、例のエラーは発生しなくなりました。 参考URLは(直接ではないですが)解決のヒントになったり、必須情報の確認(私の知らないセキュリティに関する知識等)がありまして、とても参考になりました。 無事解決いたしました。どうもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A