Filemaker to Python (1) - ODBCドライバを入れてみる
これまでとちょっと毛色の違う話と感じるかも知れませんが、これも技術ネタなのでここに書いておきたいと思います。
なぜいきなりこの話?
先日、中国語の単語のデータベースを持っているという話がありましたが、Filemaker Pro 12のデータベースに入っています。これをCSVに落として、Python+NLTK(ん?NLTKは使ってないかw)で読み込んでいろいろ弄りました。ただ、もう少し簡単にというか、ダイレクトにいじれないかという方法を模索しています。
簡単に考えて、PythonからFilemakerにアクセスすれば良いのではとググってみると、PyFileMakerというのがあったのですが、どうも2008年ぐらいから更新がされていません。その間にFilemakerのリリースも12に上がって、ファイル形式も.fp7から、.fmp12にフォーマットが変わっていて使えなくなったという話も、どこかに目にしました。
となるとこれを使う方法はダメそうです。
それでODBC
その代わりに考えたのがODBCを使う方法です。Filemakerでのファイル共有の方法の1つに、ODBCというのがあり、PythonからODBCにつなぐのには、pyODBCというのがあるのが分かりました。こちらはこの記事を書いている現在でも更新されています。となれば、Filemaker - ODBC - Python (+NLTK)とつなげば行けそうじゃないですか。
pyODBCはeasy_installか何かでインストールすれば良いだろうから、まずはFilemaker側での準備を始めることにしました。Filemakerで出してある良い感じのガイドに素直に従います。
自分の場合は、Filemakerのデータベースを(しかもローカルで)ソースとして使うだけなので、Chapter 3から8に沿って設定すれば良いそうです。
Filemaker ODBCのインストール
ガイドによると、インストールの時に使ったディスクイメージの中にxDBCというフォルダがあって、
その中のFilemaker ODBC.mkpgというファイルを実行しろと。
はい、インストール終了。
ODBC Administratorのインストールと設定
続いては、ODBCの設定をするためのODBC Administratorというのをインストールします。ガイドには、Actual Technologiesというところから出ているODBC Managerというモノの方が先に紹介されていましたが、ODBC AdministratorはAppleが出しているという理由で、こちらを選択しました。ダウンロードしてインストールするあたりは、別に紹介するまでもないと思います。
インストールが終わったら、ODBC Administratorを立ち上げて、User DSNかSystem DSNを追加しろとあります。とりあえず深く考えずにSystem DSN側でAddボタンを押して追加します。
今のところ選べるのは、当たり前ですがFilemaker ODBCだけなので選びます。
これはIntroductionなので華麗にスルー。
データソースにお名前を付けてくださいとのこと。
ホストネームなりIPを割り当ててという事ですが、今のところローカルでしか使わないのでlocalhostと入れておきます。
これはFilemaker特有な設定になります。
Filemakerのどのファイルを参照するのと聞いています。ドロップダウンリストは使えませんでしたが、そのままファイル名をベタ打ちしてやりました。
ここまでやると一通りの手続きが終わったようで、サマリが表示されます。
一応テストボタンがあったので押してみます。
大丈夫そうですね。ということで登録完了です。
(つづく)