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

Access2007でldbファイルが消えず困っています。

環境
OSはXP(SP2) … サーバ/クライアント共
Office2007Pro … サーバにはインストールしてません
SQL server2000
ウィルスバスター2011
Pc-Anywhere

クラサバの環境で、サーバ側にデータを、クライアント側にはプログラムを配置しています。
5台のクライアントからサーバのデータを更新しています。
(サーバはデータ.mdbを、クライアントはプログラム.accdb)

困っているのは、何らかのタイミングでldbファイル(mdbを起動したときに勝手に立ち上がるもの)が消えなり、サーバの電源を入れ直して、ldbファイルを削除しない限り、システムが機能しなくなることです。

一応、データを書き込んでいるときは、ldbが発生し、書き込みが終わるとldbが消える動作をきちんとしていることを確認しています。が、何らかのタイミングでldbが消えないことがあるんです。

本来はaccess2000で作成したものでしたが、マシンの入れ替えに伴いaccess2007に変更しました。
access2000の時は排他ロックなど掛かったことはなかったんですが2007に切り替えた途端、この有様です。

元々は、データ.mdbはデータ.accdbだったんですが、頻繁にロック(読取専用)が掛かるので、苦肉の策でデータ側のみ2003形式にダウンさせました。そうしたところ、ロックが掛かる回数は激減しましたが、それでも1日に1・2回程度は排他ロックが掛かり、サーバの電源入れ直し、ldbファイルの削除をしている状況です。

原因がはっきりせず困っております。
システムが機能しなくなるのは、業務がストップしてしまうことなので、とても焦っております。

Accessに詳しい方、良いお知恵を拝借願います。



mdbの名称は仮称です。

A 回答 (3件)

チラッと頭を掠めるのは、閉じる時に最適化・・の設定だと問題が発生したような?


Accessは根本的に『共有』で機能するようには出来ておりませんので
相当作りこまないと危険です。
あっさりと壊れてしまえば分かりやすいのですが、
他のレコードが変更されてしまった事が有りました。Acc97の時です。
基本的にはよろずやさんの意見に賛成です。
    • good
    • 0

以前にaccessでの基幹システムを扱った事がありますが



5台程度なら全く問題なく作業できました。

データベースへのアクセスの際に排他の処理をきちんと行っていますでしょうか?

ldbファイルはmdbを開いただけでできるworkファイルの様なものだと思います。

データにアクセスする部分の見直しが必要だと思います。

この回答への補足

ご回答ありがとうございます。

自分が疑問に思うのは、正常ならずっと正常に動作し、ダメなら初っ端からダメばら良いんですけど、最初は正常に動いているのに、何かのタイミングでサーバ側のデータ.mdbが読取専用モード(ldbファイルが残る)になってしまいトラブってしまうことです。

>データベースへのアクセスの際に排他の処理をきちんと行っていますでしょうか?

一応、[規定のレコードロック] オプションは "編集済みレコード" に設定して、
[レコードレベルでロックして開く] オプションもONにしています。

>データにアクセスする部分の見直しが…
OPENしたサーバ側のmdbはちゃんとcloseしています。(VBA上)


※こういうことではないのでしょうか?


昨夕、accessのオプションでセキュリティーの信頼できる場所で、使用しているパスをすべて設定したところ、本日はトラブルなく業務が遂行しました。
が、access2000時代は何ら問題なかったのに、同じmdbで2007にしたら、良く業務がストップしてしまうので納得していません。(サーバのOSは2000からXP、クライアントはxpからxp)

あと、最適化ですが、2007よりDB終了時に最適化する機能が追加されましたが、使用していません。
ユーザの使い方で、database.mdbになってしまうのが嫌なので…


また、何か情報お願いします。

補足日時:2010/11/02 21:23
    • good
    • 1

mdbはデータベースではありません。


単なるバイナリファイルです。
※データベースのようなことができるだけ。
これを複数のPCから同時に更新したら、
かなり無理っぽいです。
Accessの限界です。
早急に SQL server2000 に移行しましょう。
    • good
    • 0

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