FileMakerをWordPressで管理するための準備その1、MySQLデータベースに接続する方法を詳しく書きます。
WordPress のデータを FileMaker で管理・編集しようと 悪あがき 工夫しているうちに、面倒なことしなくても直接データベースに接続できることを知りました。それが出来るのなら話が早い、さっそくやってみましょう。
FileMaker をMySQLデータベースに接続する方法は、細かいところが環境によって違ってきます。すべてのみんなに当てはまる汎用的な話になりにくいので、最初にこの話が該当する環境の条件を書いておきます。
環境要件
素人です。
それ環境かいとツッコまれそうですが、これが意外と大事。FileMaker と MySQL を接続するというようなことを行いますが、やるのはここデジタル部活の素人部長です。そこいらの雑魚です。
関連情報を検索していくとわかりますが、一定水準以上の専門知識を持った人向けの情報ばかり出てきて、何が書いてあるのかさっぱりわかりません。このブログは一般人の素人が無理矢理に接続を実現できたメモとして機能します。
Server ではなく、普通のFileMaker Pro を使います。
※ この投稿の初出時、FileMaker 14のころだったで、普通の FileMaker Pro で、AdvanceでもServerでもないよ、と書いていましたが、後に Advance と統合されましたので Serverじゃないよに変更しました
共用レンタルサーバーを契約しています。
検索して見つかる情報の多くが、自社サーバーとか自分のサーバーとか、そういうのを前提とした記事です。ヒットした記事を参考にしながら作業を勧めて、途中で「あ。これ自社サーバーでないと無理やん」っていうことがよく起きました。
このブログのこの記事は、ふつうの共用レンタルサーバーで運用している前提で話を進めます。
SSH が利用できるサーバーです。
ちなみに私はXserverです。以前はさくらでした。他を知りません。
これから書くMySQL接続には SSH接続というレンタルサーバー屋さんが提供している機能を使います。Xserverでもさくらのスタンダードでもこの機能がありました。SSH 接続というのが何なのかいまいちよくわかっていませんが、とにかくそれが出来ることが前提となります。
以上のような環境を前提とした記事となります。
が、もうひとつありました。
Mac です。
この手の情報を探していると Windows の記事はよく見かけますが Mac のは見つけにくいです。「Macの人は読み替えてね」みたいな記述にもよく出会います。読み替える力が無いので大層困ったものです。
「Mac 使ってて FileMaker 使ってて WordPress 使ってて MySQLに接続したい」などという人がいったいこの世に何人くらいいるのか、いないのか、わかりませんが、そんなあなたや私のための記事です。
MySQL 接続への道
FileMaker 社の情報がまず最初の一歩となります。
外部 SQL データソースの概要 というページがありましたので、これが役に立ちそうです。
FileMaker Pro は、SQL データソースにライブ接続することができます。
出来そうでわくわくします。
ODBC/JDBC 機能
しかしその後いきなりわけのわからないことが書いてあって、リンクでたらい回しにされたりループに嵌められたりして、まったく役に立ちませんでした。
が、数年後該当ページが更新されて判りやすく役に立つページへと魅惑の変身を遂げていました。
ここにくどくど書いていた発見への道のりは無駄になったので削除しました。
外部 SQL データソースの概要 が更新され、答えの多くがここで見つかるようになりました。
接続の概要
まとめると、接続する手順は以下のようです。
- ODBC ドライバのインストール
- DSN設定のアダプタを購入して設定する
- レンタルサーバーのSSH接続を設定する
- SSHを利用してSQLサーバーにトンネル接続する
- FileMaker Pro のテーブルとして接続する
概要でした。簡単そうに見えますか。ところがどっこい。
では一つずつ見ていきましょう。
1. ODBC ドライバのインストール
ODBC ドライバというものが必要です。もし /Application/Utility にODBC Managerというアプリが入ってなければインストールします。
インストーラーは FileMaker Pro のインストールディスクのExtrasフォルダ内にあります。
あるいは、こちらのリンクからダウンロードできます。
ODBC Manager – https://odbcmanager.net
ODBC MANAGER
ドライバをインストールすると /Application/Utility に ODBC Managerが登場します。
ODBC Manager を開くとこんな画面で、ここに適切な設定を行うことにより FileMaker と接続することができるようです。
適切な設定と言っても、ちょいちょいと数値を入れるだけみたいに思ったら大間違いで、結論を先に書くと、適切なDSN設定を行うことは普通の人間には無理です。
設定をするためのアダプタとも呼ばれる何かを購入する必要があります。いやだと言っても買わずに事を進めることは出来ません。
ではそのアダプターとやらをどこで手に入れるのか。それを知るのに一週間かかりましたが、今では FileMakerの該当ページにさくっと書いてあります。
2. DSN設定のアダプタを購入して設定する
actual technologies 社の Open Source Databases を購入
Actural Technologies という会社のここで売っています。このページから何種類かのDSN設定ファイルを購入できます。メニューから選んで籠に入れて購入です。
この中で必要なのは Open Source Databases です。間違いのないよう選んで購入します。私は最初間違って別のを買ってしまいました。
いきなり購入しなくてもお試し版をダウンロード出来ます。試してみて上手く行ってから購入してもいいでしょう。
私の場合はお試し版で上手く行かなかったのに「買えば上手く行くかも」と幻想を抱いて即購入、おまけに別のアダプターを間違って購入してしまうという間抜けの二乗をやらかしました。皆さまはお気を付けください(間違って購入したことをメールで丁寧に伝えたところ、交換していただけました)
さてアダプタを手に入れたらインストールします。
インストールではカスタムインストールで設定ファイルを選べます。使用するのは Actual Open Source Databases だけです。
ここからも ODBC Manager をインストールできるんですね。なーんだ、これだけあればよかったのか。
さて、インストールが完了すると、ODBC Manager からDNS設定を追加することが出来るようになります。
ODBC Manager の DNS設定の意味
この工程、いったい何をやろうとしているのかをご説明します。
ブラウザで MyAdmin にアクセスすると指定サーバーが開きますね。これがサーバー全体です。左のメニューには作成したデータベースがリストされていると思います。
DNS設定では、この個別のデータベースへのアクセスを設定します。ピンポイントにデータベースを指定する設定を作成するという行為なわけです。
DSN Configuration
ODBC Manager を起動し システムDSN から「追加」を選び、Actual Open Source Databases を選択します。
ドライバを選択の画面でActual Open Source Databasesを選びますと、設定画面が現れます。
購入したときは「ライセンス」からライセンスキーを入力します。えっへん。
「続行」しましょう。
名前と説明は自分用ですので判りやすいものを書きます。ODBC Manager の画面上に現れる名前です。「続行」します。
この画面でサーバーを指定することになります。
「サーバー」欄にサーバーの IP アドレス、「ポート」にポート番号、その下にサーバーに対するログインIDとパスワードを入れます。が。
問題はここです。普通にサーバーのIPアドレスや適当なポート番号を入れても、レンタルサーバーでは接続できません。
レンタルサーバーは通常、こうした形でサーバーに直接接続することを許可されていないんです。
DSNコンフィグは一旦おあずけ、SSHトンネルしてから改めて
接続できないわけですからここで一旦中断、諦めます。
ただ諦めるんではなくて、別の接続方法、即ち SSH を利用してサーバーに接続する手立てを先に講じます。
SSHというのはコマンドベースの接続です。レンタルサーバーは表面的にデータベースに接続できませんが、コマンドベースでは接続できるようになっていることがあります。
SSHでくぐり抜けサーバーに接続することを専門家たちは「トンネル」と言うそうです。地下道とか裏道ではなくてトンネルですので、悪いことをするわけではなありません。堂々とやればよろしい。
しかしトンネル接続って何だ。そもそもSSHってどうやるんだ。わかりません。でも出来ました。判らなくても出来ることがあります。
SSHによるトンネル接続のやりかたは、次回の記事に書きます。
さて次回の記事(その2 SSHトンネル)の通りSSHによるトンネル接続が成功すれば、改めてDSNコンフィグの続きを行います。
サーバー情報を入力後、続行すると接続するデータベースを入力するこの画面になります。ここでデータベースをピンポイントで指定します。晴れて接続の準備が整いました。
トンネル接続をしている時だけ生きている設定ですから、接続を解除しているときにこの画面を開いてもエラーになります。そういう生もの設定です。
ここまで来ればあとは FileMaker Pro で設定すれば完了。
※ その2 SSHトンネル に続きます。
こんにちは。記事とても参考かつ楽しく拝見させていただきました!
このwordpressとFilemakerとの連携で、wordpressにプラグイン的に機能を追加(またはプラグインの改変)ができないものかと思っています。
例えばwordpressにはWooCommerceなど便利なカートシステムがそろっているのですが、不必要な機能・項目や日本語表記になっていない部分もあり、標準では使いづらく、かといってプラグインを改変できるだけの知識(また度量)もなく、そのあたりの項目の追加・改変や非表示設定などをFilemaker側でできればベストだと思っています。
素人発想で根幹のDBが扱えるのであれば、できそうにも感じるのですが、ご意見をお聞かせいただいてよろしいでしょうか?
コメントありがとうございます!FileMakerとの連携で日々格闘中で、工夫の仕方も試行錯誤の連続です。書きたい記事もぜんぜん書けていません。
プラグインに関してですが、さすがにこれは難しいと思います。データベースの処理ではなくてPHPとかWordperssコアのプログラミングに関することですから。
一部のプラグインはカスタムタクソノミーやカスタムフィールドに見えない項目を書き加えることで機能を制御するものがあります。こういうのはFileMakerから書き加えたり修正したりすることである程度管理できます。
おっしゃっているプラグインの変更したい部分がどのようなところかわかりませんけど、もしカスタムフィールドに見えない項目を追加するだけのシンプルな機能の部分でしたら少しは使い勝手を良くする方法があるかもしれませんね。
プラグインのオンオフや機能の根深いところはどうしようもありません(というかプログラミングの知識が私にありませんので・・)
FileMakerにスタッフの向こう一週間の出勤時間をスタッフ各自で、そのときいる場所に縛られずスマホから入力させたいが、FileMaker GoやWebDirectの同時接続ライセンスは高いので困っていました。
そこでWordpressにシフト管理プラグインを入れて、FileMakerと連携させようと考えましたが、ODBCのドライバを入れたとしても果たして自分でSQL文法もよくわからないのに使いこなせるのだろうかと悩んでましたが実例を見せて頂いて普通にFileMaker内のテーブルみたいに扱えるんだとわかって助かりました。
現在無事に連携させて開発が進んでます。
Wordpressに入力しても、外部データソースだとFileMakerには即時に反映されないのでスクリプトで「ウインドウ内容の再表示」などを駆使してなんとか頑張ってますが、それは仕方ないと思ってあきらめました。
本当に有用な情報をありがとうございました。
コメントありがとうございます。自分で読み返しても「なんて分かりにくい記事なんだ」と落ち込みますが、お役に立てたのなら嬉しいかぎりです。
そうですね、データベースはリアルタイムに反映されないですね。「ローカルで編集してリモートに送る」という形になるので少しややこしいですが、直接接続できるのはとても便利でした。私も試行錯誤しながらやっております。
(コメントいただいていたのに長く放置状態が続いていてすいませんでした)