概要

(今の所、下記DBMS=MySQLですね)

bPIN 特に下のようなスクリプトにぴぴっと来る人向け(何してるかはわかるでしょ) です。

 pa=PalmPilot.new("/dev/pilot")
 db=pa.openDB("MemoDB")
 for rec in db
   print rec.contents # Only MemoDB can be handled like this
 end
 pa.closeDB(db)
 pa.close

ちょっと気になるところあるんですけどね。このサンプルの中にも(closeのあたり)

bPIN Palmのデータをいじり回したり、DBMSなどと同期するためのライブラリです。
スクリプト言語Rubyの拡張ライブラリと、Rubyスクリプトから成り立っています。
pilot-linkを使用しますが、pdbファイルをUnix側でいじくるものではありません

bPIN 変更されたレコードだけを同期するFastSync(?)可能です。
デフォルトでは、規定のスキーマのテーブルしか相手に出来ませんが、 データベースクラスを新たに作成することで任意のテーブルと同期できます。 (ただし、同期情報などを含んだ新たなテーブルを作成する必要があるかもしれません)

bPIN GUI関係は用意しておりません
個人用としてwebで閲覧できるような環境はある程度はありますが。
同期に使用するDBMSを扱えるGUIの環境があるなら、 GUIはあると言えますが、何らかのカスタマイズをするか手動でルーチンワークを 行う必要があるでしょう。LANにWindowsがあるなら、ODBCを使うのも一つの手では あります。(Win使うんだったらPilotDesktop使えばいいと言う話もありますが)

bPIN PC側とPalm側の保持データが全く同じである必要がありません
ローカル側に持ってきたpdbをいじくるのではないからです。
PC側に過去3年分の予定データが入っていて、 Palm側には1ヶ月前から将来にかけての 分だけのデータが入っている、などということも実現します。
当然、PC側とPalm側をイコールにすることもできます。

bPIN DBMSだけが相手ではなく、あるディレクトリ内のテキストファイルとMemoPadの同期 など、データベースっぽく扱えるものなら、同期可能です。
ただし、私はそのようなものを作っていないので、 御自分で新たにクラスを1つ作成する必要があります。CSVもどきのファイルで同期する ものはありますが...これはデバッグ用でした。複数行テキストの問題のため、人間が 扱うにはやっかいな形式になっています。 これらは添付ドキュメントの構造図における、 Databaseクラスに相当する部分です。

bPIN 同期用クラスであるPalmSyncを使わずに、下位のクラスを使用して Palm上のデータをバッチ処理で加工していくことも可能です。 作っちゃいませんが、郵便番号変換みたいなイメージの作業。 むろん、DBMS側で細工してから同期してもOKです。(こっちの方が楽なので私はDBMS側修正を常用)

bPIN 動作はLinux2.0.36/ruby-1.3.2/pilot-link-0.9.0で確認しています。
pilot-link-0.8.9とpilot-link0.9.2でも動いてます。0.9.3はまだ導入してません。
ruby作者様も勧めてますので、rubyは1.3以降を使いましょう。もう1.5の話が出てますけど。(←古い話です)


今後の予定

放置されてます。
試してみるページへ
もしくは
PalmSyncホームへ