FileMaker Pro 15でPostgreSQLへの接続を試してみる(ESS)

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サイトから評価版がダウンロードできます。
 

Actual Technologies社ESS Driver

 

PostgreSQLのODBCドライバ、Actual ESS Adapterがインストールされている状態で、ODBC Managerを立ち上げます。

登録済みのデータソース一覧が表示され、データのインポートで作成した「PGFM_TEST」が登録されているのが確認できます。
今回は、このデータソースをFileMakerのESSとして扱えるように設定します。

「追加」ボタンを押して、新規の接続を設定します。

ESS Adapter追加前のODBC Manager

ODBCドライバの選択画面が表示されます。
「Actual ESS Adapter」を選択し、OKボタンを押します。

ODBC Managerドライバ選択

Actual ESSアダプタの設定ダイアログが開きます。
「続行」ボタンを押して次に進めます。

ESS Adapter設定

新しく作成するデータソース名と、適合DSN(ESSが使用するPostgreSQLと直接接続しているデータソース)を入力します。

今回は、新しく作成するデータソース名を「PGFM_ESS_TEST」、適合DSNを前回作成した「PGFM_TEST」とし、「続行」ボタンを押します。

ESS Adapter設定

追加の設定を行うダイアログが表示されますが、特に設定する項目はないので「続行」ボタンを押します。ESS Adapter設定

設定した内容が一覧で表示されます。

「テスト」ボタンを押すとPostgreSQLとの接続テストが行われ、「完了」ボタンを押すと設定内容が保存されます。

ESS Adapter設定

 

Actual ESS Adapterの設定を終えたら、FileMakerを起動します。

適当なソリューションを作成し、外部データソースの設定を行います。

外部データソースの設定は「ファイル」メニューの「管理」-「外部データソース」です。
FileMaker外部データソース呼び出し

外部データソースの管理画面を開くと、登録済みの外部データソース一覧が表示されます。
新しいソリューションに追加したので、空の状態で表示されました。
「新規」ボタンを押して、データソースを設定します。

外部データソース管理

外部データソースの編集ダイアログが表示されます。

今回は、ODBCを接続するので、タイプは「ODBC」、DSNは先ほど設定した「PGFM_ESS_TEST」を設定します。
必要に応じて、認証情報やテーブルのフィルタリングの設定を行います。 

 

 

データソースの編集

DSNの「指定」ボタンを押すとODBCデータソースの選択ダイアログが開きます。

データソースの一覧の中から、「PGFM_ESS_TEST」を選択し、OKボタンを押します。

ODBCデータソースの編集

外部データソースの一覧に、選択した「PGFM_ESS_TEST」が追加されました。
OKボタンを押してダイアログを閉じます。

外部データソースの管理

 

次に、外部データソースとして登録したデータベースをFileMaker上に取り込めるか確認を行います。

「データベースの管理」を開き、リレーションシップタブを表示します。

画面下部のアイコン群から、「テーブルの追加」をクリックし、テーブルの設定ダイアログを表示します。

データベースの管理 リレーションシップ設定

データソース「PGFM_ESS_TEST」にひもづく、データソース「PGFM_TEST」(PostgreSQLのデータベース)のテーブルが一覧で表示されます。

一覧の中からリレーションシップの設定画面に追加するテーブルを選択し、OKボタンを押します。PostgreSQLのテーブルを選択

リレーションシップの画面に追加されました。
スクリーンショットでは、PostgreSQL上のcm_prefectureテーブル(都道府県名のテーブル)とcm_districtテーブル(地方名のテーブル)を選択し、FileMaker上でリレーションシップの設定を行った状態になります。
ここまで設定してしまうと、扱っているテーブルがFileMaker上にあるのか、別なDBMS上にあるのか意識せずに扱えるようになります。

テーブル追加後のリレーションシップ

リレーションシップの設定を行ったPostgreSQL上のテーブルがFileMakerのテーブルと同じように扱えるか確認するため、適当なレイアウトを作成します。

表示対象とするデータは、cm_prefectureテーブル(都道府県名)で、ひもづく地方名が表示されれば成功です。
設定を簡単にするため、レイアウトは「表形式」で設定します。

「表」を選択し、「完了」を押します。
 

レイアウトを作成

 

表示対象となる項目(フィールド)の選択を求められるので、親テーブル(cm_prefecture)から都道府県コード、都道府県名、地方IDを選択します。

 

スクリーンショット 2016 10 03 2 15 22

追加されました。

ダイアログ下部のアイコン群から「フィールドを追加」ボタンを押します。

レイアウトに表示する項目

再度、表示対象となる項目(フィールド)の選択を求められるので、テーブルを「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が公式サイトに掲載している以外のバージョンでも動きそうな気配がします。

 

FileMake社の外部SQLデータソースの説明

makoto について

デジタルガジェット大好き!! 小さい機械を片手に、JavaとFlex、PHPなど、いろいろなプログラミング言語・環境を行ったり来たりしながらプログラムを書いています。 最近お気に入りな環境は、Visual StudioとFileMaker。
カテゴリー: Mac, Windows, 技術的なメモ タグ: , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です