「FileMaker Pro 15でPostgreSQLへの接続を試してみる(データのインポート)」の続きで、FileMaker Pro 15からESS(外部SQLデータソース)を使いPostgreSQLへ接続を行う動作の確認です。
自分としては今回のバージョンアップの目玉機能は、ESSの接続先としてPostgreSQLが使えるようになったことです。
この機能が使えるようになると、FileMakerが得意とするフォームレイアウトや帳票レイアウトはFileMaker で。データの管理はデータベース(PostgreSQL)で。といったことが可能になります。
また、既存のシステムに影響を与えることなく、よく使う機能をiPhoneやiPadなどで閲覧・編集するといったことも可能になります。
まず、PostgreSQLをFileMakerで 扱えるようにするためのActual ESS DriverというODBCのドライバを用意します。
このODBCドライバはPostgreSQLの接続を行うものではなく、ODBC接続されたPostgreSQLをFileMakerから認識させるためのゲートウェイ/ブリッジ的なドライバのようです。
actual technologies社のwebサイトから評価版がダウンロードできます。
PostgreSQLのODBCドライバ、Actual ESS Adapterがインストールされている状態で、ODBC Managerを立ち上げます。
登録済みのデータソース一覧が表示され、データのインポートで作成した「PGFM_TEST」が登録されているのが確認できます。
今回は、このデータソースをFileMakerのESSとして扱えるように設定します。
「追加」ボタンを押して、新規の接続を設定します。
ODBCドライバの選択画面が表示されます。
「Actual ESS Adapter」を選択し、OKボタンを押します。
Actual ESSアダプタの設定ダイアログが開きます。
「続行」ボタンを押して次に進めます。
新しく作成するデータソース名と、適合DSN(ESSが使用するPostgreSQLと直接接続しているデータソース)を入力します。
今回は、新しく作成するデータソース名を「PGFM_ESS_TEST」、適合DSNを前回作成した「PGFM_TEST」とし、「続行」ボタンを押します。
追加の設定を行うダイアログが表示されますが、特に設定する項目はないので「続行」ボタンを押します。
設定した内容が一覧で表示されます。
「テスト」ボタンを押すとPostgreSQLとの接続テストが行われ、「完了」ボタンを押すと設定内容が保存されます。
Actual ESS Adapterの設定を終えたら、FileMakerを起動します。
適当なソリューションを作成し、外部データソースの設定を行います。
外部データソースの設定は「ファイル」メニューの「管理」-「外部データソース」です。
外部データソースの管理画面を開くと、登録済みの外部データソース一覧が表示されます。
新しいソリューションに追加したので、空の状態で表示されました。
「新規」ボタンを押して、データソースを設定します。
外部データソースの編集ダイアログが表示されます。
今回は、ODBCを接続するので、タイプは「ODBC」、DSNは先ほど設定した「PGFM_ESS_TEST」を設定します。
必要に応じて、認証情報やテーブルのフィルタリングの設定を行います。
DSNの「指定」ボタンを押すとODBCデータソースの選択ダイアログが開きます。
データソースの一覧の中から、「PGFM_ESS_TEST」を選択し、OKボタンを押します。
外部データソースの一覧に、選択した「PGFM_ESS_TEST」が追加されました。
OKボタンを押してダイアログを閉じます。
次に、外部データソースとして登録したデータベースをFileMaker上に取り込めるか確認を行います。
「データベースの管理」を開き、リレーションシップタブを表示します。
画面下部のアイコン群から、「テーブルの追加」をクリックし、テーブルの設定ダイアログを表示します。
データソース「PGFM_ESS_TEST」にひもづく、データソース「PGFM_TEST」(PostgreSQLのデータベース)のテーブルが一覧で表示されます。
一覧の中からリレーションシップの設定画面に追加するテーブルを選択し、OKボタンを押します。
リレーションシップの画面に追加されました。
スクリーンショットでは、PostgreSQL上のcm_prefectureテーブル(都道府県名のテーブル)とcm_districtテーブル(地方名のテーブル)を選択し、FileMaker上でリレーションシップの設定を行った状態になります。
ここまで設定してしまうと、扱っているテーブルがFileMaker上にあるのか、別なDBMS上にあるのか意識せずに扱えるようになります。
リレーションシップの設定を行ったPostgreSQL上のテーブルがFileMakerのテーブルと同じように扱えるか確認するため、適当なレイアウトを作成します。
表示対象とするデータは、cm_prefectureテーブル(都道府県名)で、ひもづく地方名が表示されれば成功です。
設定を簡単にするため、レイアウトは「表形式」で設定します。
「表」を選択し、「完了」を押します。
表示対象となる項目(フィールド)の選択を求められるので、親テーブル(cm_prefecture)から都道府県コード、都道府県名、地方IDを選択します。
追加されました。
ダイアログ下部のアイコン群から「フィールドを追加」ボタンを押します。
再度、表示対象となる項目(フィールド)の選択を求められるので、テーブルを「cm_district」に切り替え、cm_districtテーブル(地方名)から地方コード、地方名を選択します。
追加されました。
表示対象の項目名を設定後、ブラウズモードに切り替えると…
PostgreSQL上のデータが表示されました!!
FileMaker Pro 15がPostgreSQLと接続できることで、ますます活用方法が拡がりそうです!!
今回の接続テストを行うためにFileMaker社のwebサイトを調べていると気になる記述が…
接続可能なデータベースエンジンの一覧でPostgreSQLの項目で「9.4.4」と記述されています。
しかし、今回テストで使用したPostgreSQLはそれよりも古いバージョン(8.4.0)でした。
Actual ODBC Driver for Open Source Databasesか、Actual ESS Driverが対応していれば、FileMakerが公式サイトに掲載している以外のバージョンでも動きそうな気配がします。
Please give us your valuable comment