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

ACCESSベースで生徒提出物をバーコード管理し、受付票のレシートや各種統計、帳票を印刷するVBAによるPOSを組んで4月から勤務校等で使用しているのですが…

先日、導入している関連校で”ブックマークが参照できません”というメッセージが複数回現れた後に、フリーズ、その後強制終了により、データベースが破損するという事象が起きました。

一応、世代管理で過去5日分、就業時間前に自動バックアップする仕様にしているのですが、1日分のデータの事もあり、壊れた状態から復元すると、40件ほど全て”*”が表示された行ができていました。これはどうやら、登録済みのレコードが破損したもののようです。さらに、生徒提出物を採点者に渡す際の現物仕訳の段階で、一度、登録したレコードの内、”*”を残さずに完全に消滅したと思しきものが43件ありました。

その問題の起きた関連校のみ、学園本部ネットワークにBD本体を置き、インターフェイスを職員室のネットワークに置いていました。(私は経路が迂遠になり、レスポンスが下がるので推奨しませんでしたが)

最近、学園本部でDNSを入れ替えた後、様々なトラブルが発生していました事も追記します。

上記の状況を総合的にみた場合、どのような原因で、83件のデータの消失が起きたのか、今後のためにも是非、知りたく思います。

お手数をおかけしますが、お知恵をお貸しください。

A 回答 (2件)

ブックマークが参照できません・・の時点で


エラー処理出来たら良かったんでしょうけど、
いまさら言っても始まらないですね・・・。
以下は推測にすぎませんが
ファイルをパスワード保護しているか、
「レコードレベルでロックして開く」のチェックが外れている場合に
ページレベルのロックになります。
http://office.microsoft.com/ja-jp/access-help/HP …
(2010でも同様です)
で、Accessのキャッシュか遅延書き込みの際に
何かしらの問題があってカレントレコードだけではなく
ページ(4Kバイト)単位でおかしくなったのでは?

Accessの場合1日1回のバックアップでは安心できません。
モノによってですが、タスクスケジューラで
出社時・昼食時・定時退社時間時
の1日3回×三日分の世代バックアップを取っています。
(安定動作するようになってからはお世話になっていませんが大事な保険)
    • good
    • 0
この回答へのお礼

ご指摘ありがとう御座います。
特に何もせずともレコードレベルでロックされているものと勘違いしてました…orz
さっそく確認します。

お礼日時:2014/11/16 21:19

>どのような原因で



作り方に問題がなかったとしたら、アクセスだからとしか言いようがない。

アクセスは複数端末で使ったり、ネットワーク越しに使ったりすると、時々壊れる。

アクセスの一つの問題は、アーカイブログとかないからロールバックなどできないので、(ネットワーク越しなどで)クエリを実行して返事がない場合、何がおきたのか誰にもわからなくなることも有りうる。 対策方法としては、レコード操作はすべてSQLで行い、そのSQL文をログとして、ローカルに書き出してから実行する。 SQL実行後は、終了した旨をログに残すなどの配慮をしたことはあるが、、、問題がおきるのを解決できるわけではない。 
お勧めとしては、dbを信頼できるものに変えること。 アクセスはSQLサーバーにアップスケールできるので、フロントエンドはそのまま使うことができるのでそれが簡単かな。 フリーのDBもいろいろあるけど、アクセスよりましという観点からは、Microsoft SQL Server Express Edition,Oracle Express Edition,IBM DB2 Express-C、PostgreSQL,MySQLくらいだけど、sqlサーバー以外はクエリを全部対応するSQLに書き換えてあげないといけない。 (若干、構文が違うこともある)
    • good
    • 0
この回答へのお礼

ご指摘、ありがとう御座います。
急遽、DBを組むことになったので、手軽に入力画面や帳票を作れるACCESSを選んでしまいました。やっぱり、評判は良くないんですね…

レコード操作はレスポンスを早くするためにSQLで行っています。ログは取れそうです。

その内、ACCESSで作ったインターフェイスはそのままに、外部DBでMYSQLを導入できないかを検討します。

お礼日時:2014/11/16 21:24

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