Zaurus

PDB2からportabseへの移行

とりあえず、発売日に入手しました。現MI-C1ではPDB2が一番良く使われているアプリケーションなので、これを移行できないとどうしようもないです。ってことでPDB2のデータをportabaseに移行してみることにします。
ただ、SHARP自身がPDB2のリリース予定があるらしいので寿命の短いメモになりそうですが…。

データ移行のポイントはこんな感じ。

  1. PDB2のデータをPCデータに出力でcsvファイルにして転送。
  2. portabaseが読み込める形に編集。
  3. nkfなどでcsvファイルの文字コードををEUCに変換。
  4. /home/zaurus/Document/text/x-csv/ にファイルを置く。
  5. portabaseにデータの受け入れ先のデータベースを作る。
  6. portabaseにてインポートして完了。

エディタでの編集と文字コード変換はツールによっては同時に行っても良いですね。
方法としてはいくつか有るのですが、とりあえず最初は説明が簡単な方法から…(笑)

WindowsのEditor、EmEditorを使ってみる

はい、いきなり反則気味です^^;でも、自分の今の環境ではこれが一番楽といえば楽なので。他の方法は追々ってことでここは一つ…。

  1. PDB2の「PCデータに出力」で出力したファイルをCFカードやClipLink経由でWindowsマシンに落とします。
  2. ファイルの最初から7行を削除。またデータの頭から6カラムも必要無いのでEmEditorの矩形選択機能でごそっと削除します。因みに6行目は項目名なのでデータベース作成時の為に控えておいても良いですね。
  3. portabaseでは数値項目とboolean項目以外は(ダブルクォーテーション)で値を括っておかないといけないので(カンマ)が続く文字列を,"",に置き換えます。
    ,, → ,"",  この置き換えを2回繰り返すと全部置き換わります。
  4. またデータ中のいくつかの文字列をportabase用に置き換える必要もあります。ただ、改行はnote型でしか有効になりませんし、改行が有効な状態で閲覧するにはまだ不便なところが結構あります。フォームエディタとかあればまた違うのでしょうけど…。
    \, → ,
    \" → ""
    \n → 改行
  5. 更に日付型はYYYYMMDD, YYYY/MM/DD, YYYY-MM-DD, YYYY.MM.DDというフォーマットしか認識しません。時分秒は扱えないっぽいですね。ちとショック。
  6. セーブ時の文字コードはEUCで。改行コードは一応LFで行います。
  7. で、これをZaurusの/home/zaurus/Document/text/x-csv/に置きましょう。拡張子は無しか.csvで。バージョン1.3bまでは*.desktopというファイルも作る必要があったのですが、1.3cからは必要無くなってcsvファイルをそのまま置けば認識してくれるようになりました。良い感じです。
  8. portabase側で項目を合わせて新規作成してインポートすれば完了です。
と、こんな感じでしょうか?他にも「表¥示」などのデータ的におかしい部分も残ってるのですが、そこは随時修正ってことで^^;。
DATE型で時分秒が扱えないとか、閲覧環境がいまいちだとか、まだまだ詰めが甘いアプリですが、シャープがPDB2を出すのは2月ってことなのでそれまでの繋ぎでしょうか?もしくはいい感じにバージョンアップしていけばPDB2も要らなくなるかもしれないですね。PDB2は有料らしいですし。
インポート時のファイルセレクタで、マルチドットを使ったファイルは拡張子と最初のピリオドまでしか表示されないのでtest.csvtest.euc.csvとかの区別がつかなくなるのも難点ですか。この辺はQtopiaの問題なのかな?
なんにしろ更なるバージョンアップを期待したいアプリケーションではあります。


取り急ぎこんな感じで。

…なんか文字化けしてると言う書きこみを各所でちらほら見かけるのですが…僕は問題無いのですが…(2002/12/24)

今後の予定
Linuxらしく、sed等を駆使して変換してみる
ちょっと高度にスクリプト言語を使って変換してみる

ちなみにqtopiagnuboyはサウンドオフ(--no-sound)でも速度は殆ど変わらないです^^;
この辺の設定方法とかも書いたら喜ばれるのかな?オフィシャルに書いてあるのだけど…。


2002/12/24