NEC TWINPOS 3500のエラーについて(メモ)

POSレジが壊れた。運用を初めてすでに7,8年が経過しており、その間にもディスクエラー等により瀕死の重体に陥ったがその都度どうにか復旧をしてきた。その間、LAN経由でのバックアップが不能になり、RAID0も破棄されほぼ満身創痍の状態。今回のそんな中での致命的エラー。

仕様

メーカー
NEC
型番
TWINPOS 3500
OS
WindowsXP Embedded

関連するディレクトリ/ファイル構成

メインディレクトリ
c:\APOS\
データディレクトリ
c:\APOS\Data\
c:\APOS\Data\APOS.mdb
c:\APOS\Data\APOS.bak
そのほか
練習用ファイルディレクトリ
c:\APOS\RenshuuData\
c:\APOS\RenshuuData\APOS.mdb
そのほか

エラーの発生までのログ

2011/10/14
  • 締め処理終了(完了)
  • バックアップデータ作成(完了)
2011/10/15
  • 締め処理終了(不明/おそらく失敗)
  • バックアップデータ作成(失敗)
2011/10/16
  • お昼過ぎにエラー1が発生(以降立ち上げ不可)

概要としては、下記の立ち上がり順において「OKをクリック」をした段階でエラー1が発生し、それが解決した後にエラー2が発生した模様。

  1. レジの電源ON
  2. A-POS2000の立ち上げ
  3. 営業日の入力(基本的に自動入力)
  4. OKをクリック
  5. メインメニュー/通常処理へ

具体的なエラー内容(エラーログより)は次の通り。

エラー1
2011/10/16 19:23:00  APOS2000システムエラー
                     プログラム :APOSMain
                     モジュール :APOSMain.bas
                     プロシージャ:sub_OpenDatabase
                     エラー詳細 :3043 ディスクまたはネットワークのエラーです。
エラー2(テーブル名を変えて複数出現)
2011/10/16 20:10:11  APOS2000システムエラー
                     プログラム :APOSMain
                     モジュール :業務開始
                     プロシージャ:subMakeRenshuuData
                     エラー詳細 :3078 入力テーブルまたはクエリ 'T_HTファンクションキーマスタ' が見つかりませんでした。そのテーブルやクエリが存在していること、または名前が正しいことを確認してください。

エラー1の原因と修復

結果的にはc\:APOS\Data\APOS.mdbが破損しておりプログラムから読めなかった事が原因。それが判明したのは、データに不具合があるとはいえ処理前にコピーを取っておこうとコピーを始めたところ、該当のファイルでコピーエラーが発生したことから。そこでバックアップファイル内の「14日に締め処理が完了し、15日分のデータが入っているAPOS.mdbおよびAPOS.bak(いずれもバックアップされている)」を現行のAPOS\Data\へ上書きコピーするだけで修復完了。その後、15日分の締め処理を行って再起動。ここで、エラー2が発生。

エラー2の原因と修復

当初、エラーはバックアップからコピーした前日のAPOS.mdbについて発生していると考え、mdbファイルを開いてテーブルを確認してみたが該当のテーブルはきちんと存在している。で、エラーをよく見直してみたところ「プロシージャ:subMakeRenshuuData」とあったので、もしかしてと思い「c:\APOS\RenshuuData\APOS.mdb」を確認したところその予想は当たり。

そこで「T_HTファンクションキーマスタ」を昔の(初期の)データからコピーして再起動したところ今度は別のテーブルが見つからないと言われる。該当のテーブルに対して同様の操作をするも次々に別のテールブルを要求される。おそらく「●●●マスタ」の全てが壊れていると思われたため、最も古いバックアップファイルの中の「RenshuuData\APOS.mdb」で上書きしたところ正常に立ち上がるようになった。

まとめ

今回は次の二つの不具合が重なったことによるエラー。原因究明までしばらくかかったがとりあえず直って良かった。

  • c:\APOS\Data\APOS.mdbの破損
  • c:\APOS\Data\APOS.mdbの破損に伴うc:\APOS\RenshuuData\APOS.mdbの連鎖的破損

かなり昔の機種かなと思っていたけれど、現役モデルなのね。NEC TWINPOS 3500

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA