« 使う側のプロトコル | トップページ | インターネットの代表的掲示板が2chであることの不幸 »

2010年6月 9日 (水)

データベースは誰のものか

某法人からのトラブル対応。
Dellの古いデスクトップのHDDが壊れていた。
担当の方も社長さんも「この機械は古いから買い換えるつもりだった。データさえある程度復旧してもらえればいい」とのことで、Ontrack Data Recoveryで壊れたHDDをスキャンし復旧して読めたところをDVDに焼いてお返しして…と思っていたら、そのPCがデータを保持し別PCからネットワーク経由でアクセスされていたMDBデータベースのファイルがあり、それを開こうとしても開けない。
別PCにもソフト自体はインストールされているのでそちらにデータをコピーすれば動くだろう、と思っていたが、どうもMDBファイルが壊れたようだ。「バックアップはありませんか?」と聞いても「すみません、私が入社してからそういう操作は一度もしていません」えーっと。探したけれど結局バックアップはどうやら一度もやってないようでMDBファイルをなんとか修復しなければならない。

アプリはよくある業種向けのソフトでプログラム自体はVBかなにかで作っていて、データベースエンジンとしてAccess97に含まれるJetを使っているようだ。MDBファイルも複数存在し、20個ほど存在するが、Accessで直接MDBを開くとそのうち4つが開けない。
1つはMDBを開こうとすると「ほかのユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。」というメッセージボックスが現れ、OKをクリックするとデータベースが開かれずAccessの画面に戻ってしまう。残りの3つはMDBを開こうとすると「データベース***は修復する必要があるか、データベースファイルではありません。」「このデータベースを修復しますか?」と表示され「はい」「いいえ」のボタンが現れるが、「はい」をクリックしても「データベースの形式***を認識できません」OK→「データベース***は修復できないか、Microsoft Accessデータベースファイルではありません」OKでやはりAccessの画面に戻ってしまう。
秀丸エディタでMDBファイルを直接見れば先頭に「Standard Jet DB」の文字が入っている以上、これらのファイルはMicrosoft Accessデータベースファイル以外の何者でもないのだ。

Webで解決方法をいろいろ探したが、「バックアップを取っていないのが間違い」との記載ばかり目立つ。もちろんそれは事実なのだが、だからといって解決方法がろくに書かれていないというのもどうかと思う。
役にたったサイトとしては、
http://chachahoo.at.webry.info/200903/article_4.html
が復旧ソフトを紹介していた。(ありがとうございます>オーナー)
うちにもそういえば復旧ソフトがあったな、と思い、Ontrack Data RecoveryのAccess Recoveryを実行してみたら、開けない状態だった4つのファイルの内容が見えるようになった。
ただ、データが空のテーブルもあるので今からそのチェックが必要だ。

しかし本当にマイクロソフトの能力の無さに腹立たしくなる。
データベースソフトというのは、ユーザのデータを保管することが仕事だ。
マイクロソフトのプロダクトというのは、うまく動く環境ではそれなりに評価できるのだが、トラブル発生時の処置が悪すぎる。エラーを隠蔽する体質により、問題が起きても真剣に利用者に通知しようとしない。致命的な状態になって後悔しても後の祭り。ゲームなら別に構わないのだが、データベースのような仕事で使うソフトがエラー処理をうまくこなせないというのは、マイクロソフトの開発陣に「うまく動く時のことしか考えない」という致命的な怠慢の精神が蔓延しているのだろう。

ということで、こういうトラブルの場合、有償のソフトの導入が必要だ、と心に留めておいてほしい。

« 使う側のプロトコル | トップページ | インターネットの代表的掲示板が2chであることの不幸 »

マイクロソフトへの文句」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: データベースは誰のものか:

« 使う側のプロトコル | トップページ | インターネットの代表的掲示板が2chであることの不幸 »