FileMaker Pro を MySQL サーバーに接続する その1

ODBCManager

WordPress のデータを FileMaker で管理・編集しようと CSV で工夫しているうちに、そもそもデータの書き出し読み込み作業をすっ飛ばして直接データベースに接続できるのではないかと思いついたという話の続き、いよいよFileMakerをWordPressのMySQLデータベースに接続します。

digitalboo image 一呼吸CSVエクスポート、インポートのことを長々と書いてきましたがものには順序というものがありますから。今回はいよいよFileMakerをWordpressのMySQLサーバーに直結させるという話です。

汎用的な話にはなりません。環境や目的や使用ツールによっていろいろ違ってきますから。ですので最初にこの話が該当する環境の条件を書いておきます。

環境条件

素人です。

それ環境かいとツッコまれそうですが、これが意外と大事。FileMaker と MySQL を接続するというようなことを行いますが、やるのは私です。素人です。

関連情報を検索していくとわかりますが、一定水準以上の専門知識を持った人向けの情報ばかり出てきて何が書いてあるのかさっぱりわかりません。このブログは一般人のデジタル部活、基本的に素人が何とか無理矢理に SQL 接続を実現できたメモとしてのみ機能します。

FileMaker Pro を使います。FileMker Server ではありません。Advanceでもありません。

私の場合バージョンは14ですが、かけ離れていない限り大きな問題はないと思われます。それより、関連情報を探していくと FileMaker Server の機能を前提にしているようなプロっぽい記事も多くヒットするので、そうではなく、ふつうの FileMaker Pro ですよ、と明記します。

お安い共用レンタルサーバーを契約しています。

Xserver logo

これもですね、情報の多くが自社サーバーとか、少なくとも設定を弄れる専用サーバーを契約しているとか、そういうレベルを前提としている記事が検索結果にたくさん登場します。ヒットした記事を参考にしながら作業を勧めて、途中で「あ。これ自社サーバーでないと無理やん」っていうことになりますね。そういうことがよく起きました。

このブログのこの記事は、ふつうのお安い共用レンタルサーバーで運用している前提で話を進めます。

SSH が利用できるサーバーです。

ちなみに私はXサーバーの一番安いプランを契約しています。以前はさくらでした。他を知りません。

これから書く SQL 接続には SSH 接続というレンタルサーバー屋さんが提供している機能を使います。Xサーバーでもさくらのスタンダードでもこの機能がありました。SSH 接続というのが何なのかいまいちよくわかっていませんが、とにかくそれが出来ることが前提となります。

以上のような環境を前提とした記事となります。

が、もうひとつありました。

コンピュータが Mac です。

この手の情報を探していると Windows の記事はよく見かけますが Mac のは見つけにくいです。「Macの人は読み替えてね」みたいな記述にもよく出会います。読み替える力が無いので大層困ったものです。

「Mac 使ってて FileMaker 使ってて WordPress 使ってて SQL 接続したい」などという人がいったいこの世に何人くらいいるのか、きっと数人しかいないでありましょう。そんなあなたや私のための記事です。

MySQL 接続への道

FileMaker 社の情報がまず最初の一歩となります。

外部 SQL データソースの概要 というページがありましたので、これが役に立ちそうです。

FileMaker Pro は、SQL データソースにライブ接続することができます。

出来そうでわくわくします。

ライブ接続と ODBC/JDBC 機能

しかしその後いきなりわけのわからないことが書いてあります。

外部 SQL データソースとの接続機能は、FileMaker Pro と主要な SQL データソースの間での双方向のライブ接続を確立します。

ライブ接続は使用せずに、SQL データソースとの間でデータをインポートしたり交換されたい場合は、ODBC/JDBC 機能をご利用ください。

双方向でライブ接続することと、データをインポートしたりすることが別の機能であると読めますね。ライブ接続を使用しないときはODBC/JDBC 機能を使えとあります。

ライブ接続したいので ODBC/JDBC 機能は関係ないな。と思いきや、少し下まで読み進めると「始める前に」と題して、このようなことが書いてあります。

適切な動作認定されている ODBC ドライバをインストールしてください。

ライブ接続したいときは ODBC/JDBC機能を使わないと言いながら、「始める前に」という前提条件のところでドライバをインストールせよという。謎の記述に頭を抱えます。

実はFileMaker 社のヘルプってのは、ときどき日本語がおかしいです。意味わからない言葉の羅列も目立つし、要領を得ません。結論を書きますと、ODBC ドライバというものは必須です。「始める前に」に書かれた前提で合っています。その前の「ライブ接続は使用せずに 云々」という文言は意味がわからないので無視していいと思います。要は接続できればいいんです。

接続の概要

というわけで FileMaker を SQL に接続する概要です。

  1. ODBC ドライバのインストール
  2. ODBC のDSN設定を行う
  3. レンタルサーバーのSSH接続を設定する
  4. SSHを利用してSQLサーバーにトンネル接続する
  5. FileMaker Pro のテーブルとして接続する

概要でした。簡単そうに見えますね。ところがどっこい。

では一つずつ見ていきましょう。

1. ODBC ドライバのインストール

ODBCManager

ODBC ドライバというものがが必要です。これをパソコンにインストールします。

FileMakerのナレッジベースをたらい回しにされてもインストール方法がわかりません。諦めて普通に検索するとMySQLのサイトがヒットして、おおこれかとダウンロードしようとしたらOracleへのサインアップが求められ、なんかちょっと変だなとなります。

もう一度FileMakerのヘルプに戻ってたらい回しにされていくうちに、ようやくわかりました。

インストーラーは FileMaker Pro のインストールディスクのExtrasフォルダ内にあります。何だこれだけのことだったのか。最近「インストールディスク」という言葉自体を聞かなくなって、この言葉の意味が一瞬わからなかったんです。

ODBCインストーラの場所

探しまくったドライバのインストーラーですが、実はこの場で急がなくても後でもよかったんですよ。後で他のものと一緒にインストールできたりしましたから。でも順序として「まずドライバから」っていう、そういう感じで書いておきました。*

* 実はドライバのインストールに関しては記憶があやふやで、最初のドライバをインストールしてからManagerをインストールするのか、同時にインストールされたのか、後でやるDNS設定の時にインストールしたのか、よく覚えていないんです。念のために最初にドライバをインストールしておくという正しい手順を踏まえておけばいいかなと。

ODBC MANAGER

ODBCドライバをインストールしただけでは駄目で、 ODBC Manager なるアプリケーションで適切なDSN設定をしてやる必要があります。

ドライバのインストール時に、Macだと「/アプリケーション/ユーティリティ/」にManagerがインストールされると思います。されてなければ後でインストールしましょう。後述します。

ODBC Manager を開くとこんな画面で、ここに適切な設定を行うことにより FileMaker と接続することが出来ます。

ODBC Manager
ODBC Manager

DSN設定と言ってもちょいちょいと数値を入れるだけみたいに思ったら大間違いで、結論を先に書くと、適切なDSN設定を行うことは普通の人間には無理です。

適切なDSNを売っているのでそれを買うしかありません。ただで手に入れようとか、自力で設定してやろうとしても無駄なんです。無駄だとわかりましたから私のように無駄な努力をしなくて済むよう(相当無駄な努力をしたらしい)、最初に書いておきます。

MacOS X で ODBC Manager のインストール

FileMaker のヘルプにもこうあります。

1. http://www.odbcmanager.net にアクセスして、Actual Technologies 社の ODBC マネージャをインストールしてください。

あら、やっぱりここでインストールするのであったか。記憶があやふやですいません。

ODBC Manager Download Screen Capture
ODBC Manager Download のページ

http://www.odbcmanager.net を開くとこんな感じのManager ダウンロードの画面となりますからダウンロードしてインストールします。

もう一回さっきのManager画面を改めて。

ODBC Manager
ODBC Manager

FileMakerでリレーションシップグラフのODBCテーブルを使用する場合はこの設定の「システムDSN」のみがサポートされるとのことです。

「システムDSN」タブから「追加」を選んで設定するわけですが、ここで素人が設定するのは無理なので他社の設定ファイルを使うことになります。嫌だと思ってもそうするしかありません。

正確には設定ファイルというよりアダプターというようなものみたいです。

ではその設定やアダプターとやらをどこで手に入れるのか。ここまで到達するのに一週間かかった私がさくっと書いておきます。

2. ODBC のDSN設定を行う

actual technologies 社の Open Source Databases を購入

Mac ODBC: MySQL for Mac OS X by Actual Technologies

Actural Technologies という会社のここで売っています。このページから何種類かのDSN設定ファイルを購入できます。メニューから選んで籠に入れて購入です。

この中で必要なのは Open Source Databases です。間違いのないよう選んで購入します。私は最初間違って別のを買ってしまいました。

このサイトはデザインが悪く、選んで購入するのがとてもややこしくなっています。

いきなり購入しなくてもお試し版としてダウンロード出来ます。お試し版で試してみて上手く行ったら購入してもいいでしょう。

私の場合はお試し版で上手く行かなかったのに「買えば上手く行くかも」と幻想を抱いて即購入、おまけに別のアダプターを間違って購入してしまうという間抜けの二乗をやらかしました。皆さまはお気を付けください。

(間違って購入したことをメールで丁寧に伝えたところ、交換していただけました)

さてデモ版なり購入版なりを手に入れたらインストールします。

actual installer
actual installer

インストールではカスタムインストールで設定ファイルを選べます。使用するのは Actual Open Source Databases だけです。ここに ODBC Manager もありますね。最初にManagerをインストールする必要がないというのはこのことです。ここからインストールできます。

インストールすると ODBC Manager から設定を追加することが出来るようになります。

DSN Configuration

ODBC Manager を起動し「システムDSN」から「追加」を選びます。

ODBC Manager 追加
ODBC Manager で「追加」を

ドライバを選択の画面でActual Open Source Databasesを選びますと、設定画面が現れます。

DSN-conf 画面
DSN コンフィグ – 概要

購入したときは「ライセンス」からライセンスキーを入力します。えっへん。

「続行」しましょう。

DSN コンフィグ – データソース

名前と説明は自分用ですので判りやすいものを書きます。ODBC Manager の画面上に現れる名前です。「続行」します。

DSN コンフィグ – 接続

ここで接続の設定となります。

「サーバー」にサーバーの IP アドレス、「ポート」にポート番号、その下にサーバーに対するログインIDとパスワードを入れます。

問題はここなわけです。普通にサーバーのIPアドレスや適当なポート番号を入れても接続できません。

自社サーバーだったり自分で管理しているサーバーなら、サーバーIPとポートを入力すれば繋がります。

しかしレンタルサーバーを利用している場合ここにサーバーアドレスを入れても受け付けてもらえません。

レンタルサーバーは通常、こうした形で SQL サーバーに接続することを許可されていないんです。

DSNコンフィグは一旦おあずけ、SSHトンネルしてから改めて

接続できないわけですからここで一旦諦めます。

何とかして接続したい時、SSH を利用してサーバーに接続します。SSHというのはコマンドベースの接続です。レンタルサーバーは表面的にデータベースに接続できませんが、コマンドベースでは接続できるようになっていることがあります。

SSHでくぐり抜けサーバーに接続することを専門家たちは「トンネル」と言うそうです。地下道とか裏道ではなくてトンネルです。堂々とやればよろしい。

しかしトンネル接続って何だ。そもそもSSHってどうやるんだ。わかりません。でも出来ました。判らなくても出来ることがあります。

SSHによるトンネル接続のやりかたは、この後または次回の記事に書きます。

さて次回の記事の通りSSHによるトンネル接続が成功すれば、改めてDSNコンフィグの続きを行います。

DSN-conf-4 接続するデータベース

サーバーIPアドレスを入れ、ポート番号を入れ、ログインIDとパスワードを入れ、続行すると最後に接続するデータベースを入力するこの画面になり、晴れて接続の準備がすべて整います。

トンネル接続をしている時だけ生きている設定ですから、接続を解除しているときにこの画面を開いてもエラーになります。そういう生もの設定です。

ここまで来ればあとは FileMaker Pro で設定すれば完了。

…ですが続きはまた次回に繰り越します。すいません。

 

コメントを残す