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