* odbファイルの起動でフィルタの選択画面が表示 [#g5a2b3d8]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|yuki|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(重要,faq03,priority)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(Base データベース,faq03,category)|
 |~投稿日|2010-10-04 09:29:09 (月)|
 |~OS|Vista|
 |~依存するページ||
 |~バージョン|#listbox3(3.2.1,faq03,version)|
 
 //////////バグ対策(以降マッチさせない)
 
 ** メッセージ [#g9043f21]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 ご無沙汰いたしております。yuki です。~
 
 以前にお世話になりながら作成しました、技術情報収集Box.odb なのですが、現在まで約2年間特に大きな問題も無く使っていたのですが、先日、急に Write のフォームがエラーを出して落ちまして、それ以降、技術情報収集Box.odb ファイルを起動しようとするとフィルタの選択画面が表示されてしまいます。
 (残念ながら、エラーの内容は記録しませんでした。)~
 
 取り合えず、何も選択しないで【OK】【キャンセル】ボタンを押しても、Baseは起動しませんでした。~
 odb ファイルの名前を変えてもダメでした。~
 別のパソコンで起動してもダメでした。~
 コピーしておいた少し古いファイルは開きました。(半月前)~
 
 コピーは、半月前にしか取っておらず、ファイルが復活しないと約半月間のデータが消えてしまいます。~
 (内容の再現は困難です。)~
 
 何とかファイルを復活させたいのですが、良い方法は無いでしょうか?~
 フィルタの選択画面で、何かを選択すれば良いのでしょうか?~
 お忙しいところ申し訳ありませんが、宜しくお願いいたします。~
 
 その他~
  ファイルサイズ    :1,341 KB~
  埋め込みデータベース :HSQL database engine~
  Windows Vista / Xp 共に同じ結果です。~
 
 ----
 ***ZIP解凍操作 [#k3ef6833]
 >ike@九州 (2010-10-04 11:28:35 (月))~
 ~
 古いファイルと今のファイルを別の場所にコピーして~
 拡張子 odb を zip に変更後それぞれ解凍します。(以下OLD、NEWと呼びます)~
 以下の両方を試してみましょう~
 ~
 1.OLD の Basic、Forms 各フォルダ を NEW に入れ替え、ファイル&フォルダを全て選択して zip 圧縮し拡張子を odb に戻す。~
 ~
 2.又は NEW の database フォルダを OLD に入れ替え、ファイル&フォルダを全て選択して zip 圧縮し拡張子を odb に戻す~
 ~
 #ref(base.png)~
 ~
 仕事上、大事なファイルは上書き保存と別名(番号付き)でもう一つ自動保存するようにマクロで組んでおくと安心ですね。~
 
 //
 ***zip に変更しても開けません [#v98d0e29]
 >yuki (2010-10-04 12:53:54 (月))~
 ~
 ike@九州 様、早々のご返信を頂きましてありがとうございます。~
 ~
 古いファイルは、zip 変換して中身を見ることが出来たのですが、フィルタの選択が表示されるファイルは、zip 変換しても中身を見ることができません。~
 ~
 odb ファイル自体が壊れてしまったのでしょうか?~
 
 //
 ***困りましたね [#lbe62f6e]
 >ike@九州 (2010-10-04 16:20:48 (月))~
 ~
 データベース登録してあるなら、calc からデータソースボタンを押して~
 該当ファイルに接続できますでしょうか?~
 ~
 接続エラーが出るなら odb ファイルが壊れてしまったという事になりますね。~
 ~
 只、ファイルサイズがある程度あるので database フォルダは残っているような気がするので~
 ~
 http://www.vector.co.jp/soft/winnt/util/se470114.html?ds~
 ~
 zipファイルを修復できるフリーソフト等をインストールして~
 コピーし拡張子を zip に変えたファイルを修復し開く事ができれば最初の手順2で復旧できるかもしれません。~
 
 //
 ***calc からデータソースボタンを押して [#a4aa4141]
 >yuki (2010-10-04 17:06:45 (月))~
 ~
 calc からデータソースボタンを押し、データベースへの接続を試みたのですが、【一般的なエラー】が出力されデータベースへの接続が出来ませんでした。~
 やはり、ファイルが壊れてしまったのでしょうか?~
 ~
 使用中にエラーがでたくらいで、ファイルが壊れてしまうのでしょうか?~
 少し、寂しいです。~
 ~
 教えて頂きました修復の方法を試してみたいと思います。~
 
 //
 ***DBはテーブルが命 [#ofa537bf]
 >M.Kamataki (2010-10-04 18:02:03 (月))~
 ~
 zip形式ファイルの修復ができると良いですね。~
 ~
 DBはテーブルが命なので、仕事でお使いになるのであれば、Baseとは別に本格的なDBの利用をお勧めします。外部DBを利用するとテーブル表示やフォームのレスポンスも良くなります。~
 ~
 わたしの最近のセミナーでも外部DBの利用を勧めています。参考にしてください。~
 ~
 http://openoffice-docj.sourceforge.jp/wiki/images/HowToBase201008.pdf~
 
 //
 ***何とか、zipファイルの修復を終えました。 [#kad213eb]
 >yuki (2010-10-05 09:44:13 (火))~
 ~
 (NEW)と(OLD)ファイル内の database フォルダの中身は以下のようになっています。~
 ~
 ・(NEW)ファイルの選択が表示~
   名前        種類         圧縮サイズ
   backup      ファイル     660KB
   data        ファイル      87KB
   data        ファイル     566KB
   log         ファイル      20KB
   properties  ファイル       1KB
   properties  ファイル       1KB
   script      ファイル       1KB
 ~
 ・(OLD)古いファイル~
   名前        種類         圧縮サイズ
   backup      ファイル     637KB
   data        ファイル     549KB
   properties  ファイル       1KB
   script      ファイル       1KB
 ~
 ~
 database フォルダの入れ替えを行うため、~
 ~
   (OLD) 内の database のすべてのファイルを取り出しました。
   (NEW) 内の database は、以下しか取り出せず、data は取れませんでした。
   名前        種類         サイズ
   backup      ファイル     711KB
   log         ファイル     239KB
   properties  ファイル       1KB
   script      ファイル       6KB
 ~
 やはり、ファイルの一部(data)が壊れているのでしょうか?~
 (NEW)ファイル内に、data と properties が2つあるのが気になります。~
 ~
 ここでお聞きしたいのですが、(NEW)ファイル内の backup を data に名前を変えると復元するとかはないのでしょうか?~
 
 //
 ***試してみてください [#af59dc39]
 >M.Kamataki (2010-10-05 11:16:06 (火))~
 ~
 修復した(NEW)ファイルですが、拡張子のzipをodbに変更して、OpenOffice.orgで読み込むことは試しましたか? もし、まだでしたら試してみてください。~
 ~
 それでダメな場合ですが、以下のHSQLDBのファイル説明を読むとbackupファイルは、dataファイルの内容を最後にcheckpointした時点のものを圧縮したものとあります。~
 ~
 http://www.hsqldb.org/doc/guide/apc.html~
 ~
 どんな形式で圧縮されているのかがポイントですね。ちょっと内容をエディタで見た限りではわかりませんでした。ファイルの冒頭にPKの文字があれば、ZIP圧縮なんですが、違うようです。~
 
 //
 ***修復方法 [#b92a1a9c]
 >M.Kamataki (2010-10-05 11:41:39 (火))~
 ~
 紹介したページの下の方にデータベースの修復方法が書かれていました。以下の手順のようです。~
 +bakcupファイルをuncompressコマンドで展開し、dataファイルを上書きしてください。~
 +scriptファイルのすべてのSQLコマンドを実行してください~
 +logファイルのすべてのSQLコマンドを実行する。もし、破損されたものがあればスルーされ、残りのコマンドラインは無視されます。~
 +データベースを正しくクローズしてください。~
 もしかすると、2番目以降は不要かもしれません。~
 <
 >
 ただ、Debian Linuxに付属するuncompressコマンドを使って、odbファイルから取り出したbackupファイルを展開しようとすると、「not in gzip format」とメッセージが出て展開できませんでした。~
 
 //
 ***なんと、復元しました。 [#z464087f]
 >yuki (2010-10-05 12:05:16 (火))~
 ~
 ike@九州 様、M.Kamataki 様、ありがとうございました。~
 ~
 修復した(NEW)ファイルですが、拡張子のzipをodbに変更して、OpenOffice.orgで読み込むと、何と、ファイルが読み込めました。~
 データベースの中身を確認したのですが、データが壊れることなく復元できているようです。~
 大変にお騒がせ致しまして、申し訳ありませんでした。~
 ~
 今後、ファイルのバックアップを取る方法を考えたいと思います。~
 ~
 M.Kamataki 様~
 ~
 セミナー資料を拝見しました。~
 外部DBの利用、当方には敷居が高すぎるように思うのですが、如何なものなのでしょうか?~
 今後のことを考えますと、必要性は十分にあるとは思うのですが。~
 まだ、何も理解できていないので、何を、どのように行えばよいのかをご教授頂ければと勝手に思っています。~
 
 //
 ***完了にしますね [#d836d558]
 >M.Kamataki (2010-10-05 14:14:38 (火))~
 ~
 odbファイル(実態はZIPアーカイブ)の修復で解決されたということで、当質問は完了にします。~
 ~
 >今後、ファイルのバックアップを取る方法を考えたいと思います。~
 ~
 たぶんファイル管理を自社で行っているところは、自前でバックアップやバージョン管理ソフトを導入されてるところが多いと思います。小規模事業所や個人の方にはDropboxが、最近では人気のようです。以下は使い方を紹介しているWebサイトです。こんなサービスを使うのも良いと思います。~
 ~
 DropBoxマニア ドロップボックスはここがすごい!~
 http://www.getdropbox.jp/~
 ~
 どのような外部DBを利用するかは、当Q&Aの範疇を超えます。Baseとの接続で実績のあるものは、PostgreSQL、MySQL(これらはOpenOffice.org側で用意したドライバがあります)、Firebardなどです。これらはGoogleで検索すれば、情報はいくらでもあります。また、お近くで「オープンソースカンファレンス」(http://www.ospn.jp/)が開催されていたら、一度覗いてみてください。各データベースのコミュニティの方々が親切に教えてくれると思います。~
 
 //
 ***もし [#vc0ebe0a]
 >yuki (2010-10-05 14:40:13 (火))~
 ~
 M.Kamataki 様 が外部DBを選ぶとすれば何にしますか?~
 
 //
 ***外部DB [#de7d431d]
 >M.Kamataki (2010-10-05 17:00:04 (火))~
 ~
 上記で紹介したものすべて利用したことがあります。得手不得手があるので、特徴を捉えてお使いください。~
 ~
 インストールは、どれもWindows版のインストーラーがあり簡単です。~
 ~
 PostgreSQLとMySQLには、OpenOffice.orgからドライバがリリースされています。MySQLなら、拡張機能サイトから入手できますが、PsotgreSQL用はさがさないといけません(上記PDFにURLを明記)。~
 ~
 MySQLには、新常用漢字に含まれる4バイトの文字を正しく扱えない問題があります。将来のバージョンアップで修正される予定ですが、OpenOffice.orgと同じく開発コミュニティがOracle傘下となったため開発の行方は不透明です。~
 ~
 PostgreSQLには、その点不安はありません。ただし、わたしが使った範囲ではBaseのテーブルのコピー機能が正しく実行できません。これは、テーブルのフィールドが自動で「入力が必要」が「はい」になってしまうからです。入力値がある場合は良いのですが、わたしの場合はテーブル定義だけをコピーして、「入力が必要」を「いいえ」にする必要がありました。~
 ~
 やはり、使っていただいて合うものを選んでいただくしかありません。~
 
 //
 ***ご丁寧にありがとうございます。 [#v180baab]
 >yuki (2010-10-05 17:07:51 (火))~
 ~
 少し勉強してみます。~
 何かありましたらば、また、宜しくお願い致します。~
 
 //
 #article