Claris FileMaker Pro のスクリプト機能を使ってPostgreSQL のデータに接続
Claris FileMaker は、データの管理や整理のためのカスタムアプリを作成できるローコードデータベースアプリケーション開発ツールです。強力なリレーショナルデータベースエンジンと直感的なインターフェースを組み合わせており、技術者でも非技術者でも、デスクトップ、Web、モバイルプラットフォーム向けのアプリケーションを設計・デプロイできます。
この記事では、CData ODBC Driver for PostgreSQL と FileMaker のスクリプト機能を使ってPostgreSQL のデータに接続する方法を解説します。
PostgreSQL 用の ODBC データソースを作成
まだ設定していない場合は、最初に ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップでもあります。Microsoft ODBC データソースアドミニストレーターを使用して ODBC DSN を作成・設定できます。
PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。
パスワード方式によるSSH 接続
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Password"
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHPassword: SSH パスワード
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証方式によるSSH 接続
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
- User: PostgreSQL のユーザ
- Password: PostgreSQL のパスワード
- Database: PostgreSQL の接続先データベース
- Server: PostgreSQL のサーバー
- Port: PostgreSQL のポート
- UserSSH: "true"
- SSHAuthMode: "Public_Key"
- SSHClientCertType: キーストアの種類
- SSHPort: SSH のポート
- SSHServer: SSH サーバー
- SSHUser: SSH ユーザー
- SSHClientCert: 秘密鍵ファイルのパス
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
DSN を設定する際には、Max Rows 接続プロパティも設定することをお勧めします。これにより返される行数が制限され、レポートやビジュアライゼーションの設計時にパフォーマンスを向上させるのに役立ちます。
スクリプトを使用して FileMaker でPostgreSQL のデータを接続・同期
このセクションでは、CData ODBC Driver for PostgreSQL とスクリプト機能を使用して、FileMaker にリアルタイムのPostgreSQL データを接続する手順を説明します。初回インポート時には、FileMaker は外部データソースからすべてのデータを取り込みます。2回目以降のインポートでは、外部ソースで変更されたデータのみが更新されます(差分更新)。また、現在のレコード順序でデータを置換したり、これらの差分更新を自動同期のためにスケジュール設定することもできます。
Mac/Windows/Linux システム向けの最新版 FileMaker Pro は、こちらのリンクからダウンロード・インストールできます。
スクリプトを使った FileMaker との接続と同期
FileMaker のスクリプト機能を使用すると、単一のコマンドで一連のアクションを実行し、複雑なタスクやワークフローを自動化できます。スクリプトを使ってPostgreSQL と連携することで、FileMaker アプリケーション内でPostgreSQL のデータへの接続、インポート、更新、置換を自動化し、データ管理を効率化できます。
スクリプトを使った初回インポートとデータの追加
このセクションでは、以下の手順でスクリプトを使ってPostgreSQL のデータを FileMaker にインポートします:
- FileMaker Pro を開きます。左パネルから Create に移動し、Blank > Create を選択します。
- 任意のファイル名を入力して Save をクリックします。
- Manage Database ウィンドウで Tables タブに移動し、PostgreSQL のデータを表示するテーブルを作成または名前変更します。
- Fields タブで、テーブルで使用するフィールドを作成・追加します。
- Relationships タブで、複数のテーブルがある場合はテーブルのリレーションシップを追加し、OK をクリックします。
- テーブル構造を再度開いて変更するには、File > Manage > Database に移動します。
- Scripts > Script Workspace に移動します。
- New Script を選択して新しいスクリプトワークスペースを開きます。
- 右側の Steps パネルから Records > Import Records > Insert into Script を選択します。
- Specify Data Source ドロップダウンで ODBC Data を選択します。
- Select ODBC Data Source ウィンドウから CData PostgreSQL Sys を選択し、Continue をクリックします。PostgreSQL の資格情報を入力して OK をクリックします。
- Specify ODBC SQL Query ダイアログで、SQL text エディタに SQL クエリを入力して、インポートしたいPostgreSQL のデータを指定します。
- あるいは、Query Builder を選択して SQL Query Builder ウィンドウを開きます。Tables セクションから対象テーブルを選択し、Columns セクションから関連するカラムを選択します。各選択後に Insert into SQL Query をクリックしてクエリを自動生成します。WHERE や ORDER BY 句、または専用のタブを使用してクエリを手動で編集することもできます。OK をクリックしてクエリを確定します。
- OK をクリックします。
- Specify import order オプションで Specify をクリックし、PostgreSQL の資格情報を入力します。
- Specify Import Order ウィンドウで、先ほど追加したターゲットフィールドのインポート順序を定義します。ソースフィールドとターゲットフィールドの間で Add を選択して、PostgreSQL のデータを新しいレコードとしてテーブルに挿入します。Import をクリックします。
- これでスクリプトがワークスペースに表示されます。Run をクリックしてスクリプトを実行し、インポートを処理します。
- FileMaker がPostgreSQL のデータをテーブルとしてインポートします。
スクリプトを使ったインポート済みデータの更新または置換
PostgreSQL のデータを FileMaker にインポートした後、以下の手順でスクリプトを使ってPostgreSQL で行われた変更を更新または置換できます:
- 前のセクションで説明した手順に従って Script Workspace に戻ります。
- 既存のスクリプトを選択し、設定ボタンをクリックして Specify Import Order の下の Specify を選択し、認証のためにPostgreSQL の資格情報を再入力します。
- Specify Import Order ウィンドウで、ソースとターゲットの間で Update を選択して、インポート済みのPostgreSQL データを更新します。これにより、マッチフィールドの値が同じ場合に、選択したフィールドのPostgreSQL データ値でターゲットの検索セットが更新されます。マッピングで少なくとも1つのマッチフィールドを定義し、Add remaining data as new records チェックボックスを選択する必要があります。Import をクリックします。
- あるいは、ユースケースに応じて Update の代わりに Replace オプションを選択します。これにより、ターゲットの検索セット内の選択したフィールドが、現在のレコード順序でPostgreSQL のデータに置換されます。Import をクリックします。
- FileMaker がスクリプトをワークスペースに追加します。Run をクリックしてスクリプトを実行し、インポートクエリを処理します。
- FileMaker が更新または置換されたPostgreSQL のデータをテーブルとしてインポートします。
今すぐ始めましょう
CData ODBC Driver for PostgreSQL の30日間無償トライアルをダウンロードして、PostgreSQL のデータを Claris FileMaker に統合し、FileMaker アプリケーションでPostgreSQL のデータを活用してみてください。
ご質問がある場合は、サポートチームまでお問い合わせください。