FileMaker Pro 15から外部のデータソースとして、PostgreSQLが選択できるようになりました。
PostgreSQLを使ったシステムを構築することが多いので、今回の新機能を試してみました。
FileMakerの外部のデータソースはODBCを介して接続するので、まずはODBCの接続設定からはじめます。
macOSでPostgreSQLやMySQLなどのオープンソースデータベースを扱う場合、actual technologies社のドライバを使うのが手軽でオススメです。
以前、「OS X上のODBC接続をどうにかできないものか」と色々と挑戦してみましたが、 結局うまく解決できず、actual technologies社のドライバを使ってみたところ一発で解決できました。
有償製品ですが、製品価格40米ドル以上の価値があります。
ODBCドライバがインストールされている状態になったところで、macOSのODBC Managerを起動します。
ODBC ManagerはmacOSの「アプリケーション」フォルダ、「ユーティリティ」フォルダの中にあります。
ODBC Managerを起動すると、設定済みのデータソース一覧が表示ます。
操作は、Windowsの『ODBCデータソースアドミニストレーター』とほぼ同じで、新規で追加する場合は「追加」 、構成済みの設定を編集する場合は「構成」ボタンを押します。
今回は新規作成なので、「追加」ボタンを押して次へ進めます。
接続に使用するODBCドライバを選択します。
Actual Open Source Databasesを選択し「次へ」を押します。
Actual ODBC Driver for Open Source Databasesの設定ダイアログが表示されます。
「続行」ボタンを押して次へ進めます。
データソースの名前や説明などを入力します。
Actual ODBC Driver for Open Source DatabasesはMySQL、PostgreSQL、SQLiteへ接続できるドライバなので、接続するデータベースの種類もあわせて選択します。
今回は、接続名を「PGFM_TEST」、説明はなし、接続先は「PostgreSQL」にし、「続行」ボタンを押します。
ここからはPostgreSQLの接続設定になります。
PostgreSQLサーバのIPアドレス(またはホスト名)、ポート番号、接続に使用するログインIDとパスワードを入力します。
設定で接続先データベースなどの追加の構成オプション設定(PostgreSQL固有の設定)を行う場合、「サーバーに接続して追加の構成オプションのデフォルト設定を取得します。」をチェックします。
今回は、追加の構成オプションにチェックをし、「続行」ボタンを押します。
PostgreSQLサーバへの接続が試みられ、成功すると接続するPostgreSQL上のデータベースの選択ダイアログが表示されます。
コンボボックスに表示されたデータベース一覧の中から接続先を選択し、必要に応じてエンコードの設定などを行い、「続行」ボタンを押します。
ここまで設定した接続情報が一覧で表示されます。
「テスト」ボタンを押した場合、ここまでの設定でPostgreSQLへの接続テストが行われます。
「完了」ボタンを押した場合、設定が保存されます。
「完了」ボタンを押し、設定を保存したところ、データソースの一覧に設定した「PGFM_TEST」が追加されました。
ODBCの設定を完了したところで、FileMakerの設定を行います。
FileMakerを起動し、適当なソリューションを作成します。
次に、「ファイル」メニューの「レコードのインポート」「ODBCデータソース」を呼び出します。
メニューをクリックすると、インポートを行うODBCデータソースの選択ダイアログが表示されます。
さきほど追加した「PGFM_TEST」を選択し、「続行」ボタンを押します。
データソースへの接続に使用するユーザ名(ログインID)とパスワードを入力します。
必要に応じて、「ユーザ名とパスワードの保存」をチェックします。
「OK」ボタンを押して次へ進めます。
テーブルの一覧にPostgreSQL上のテーブルが表示され、テーブルを選択するとテーブルの列一覧が表示されます。
表示された列を選択し、「SQLクエリーに挿入」ボタンを押すと、SQLクエリーに追加されます。
列の一覧はPostgreSQLの設定状態ではなく、アルファベット順の昇順に表示されるようです。また、複数の列を一括して選択はできないようです。
WHEREタブやORDER BYタブをクリックすると、抽出条件、ソート順が設定できます。
SQLクエリーに直接SQLを書いてしまうこともできます。
この場合、「*」の指定やJOINなども使えてしまうので、SQLに慣れた人の場合、直接書いてしまった方が早いかもしれません。
以前構築した、EAP(従業員支援プログラム)業務向け管理システムの「結婚事由マスタ」をサンプルデータとして使ってみます。
SQLクエリーを設定し、「実行」ボタンを押すとFileMakerのインポート先の設定ダイアログが表示されます。
既存のテーブルにインポートする場合、そのテーブルを選択。新規のテーブルにインポートする場合、リストの「新規テーブル (XXXXXX)」を選択し、PostgreSQL上の列とFileMaker上の列のマッピング設定を行います。
「インポート」ボタンを押すと、PostgreSQLからのインポートがはじまり、インポート処理が完了すると処理結果が表示されます。
インポートされたテーブルの設定状態を確認します。
FileMaker上の設定:
PostgreSQL上の設定:
PostgreSQL上の設定と比較すると、TIMESTAMP型などもうまく処理されているように見えます。
最後にインポートしたデータをFileMaker上で確認します。
最初はフォーム形式。
文字化けも発生せず正常に表示されています。
次に表形式で確認します。
問題なく、インポートできたようです。
Please give us your valuable comment