FileMaker Pro からAlloyDB のデータへの双方向アクセス
この記事では、CData JDBC Driver for AlloyDB を使用して、FileMaker Pro のExternal SQL Sources(ESS)機能と連携する方法を説明します。ESS を利用すると、FileMaker Pro 内のレコードを他のデータストアの関連レコードとリンクできます。
MySQL リモート機能を使用して、AlloyDB をリモートMySQL データベースとしてアクセスします。CData JDBC Driver for AlloyDB は、JDBC とMySQL の両規格を実装しており、FileMaker Pro のように従来のMySQL データベースへの接続はサポートしていても、汎用のJDBC 接続をサポートしていないアプリケーションとの連携を実現します。
FileMaker Pro 連携方式の選択
FileMaker Pro には2つのデータアクセス方式があります。
- データインポート:AlloyDB データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC AlloyDB 連携を参照してください。
- ESS:データのローカルコピーを使用する代わりに、JDBC ドライバーを使用して外部SQL ソースを作成できます。リモートデータはFileMaker Pro で変更でき、テーブルは標準のFileMaker Pro テーブルと同様にリレーションシップグラフで使用できます。
ESS セットアップの概要
JDBC ドライバーはデータアクセスチェーンの一部です。ネイティブのODBC 連携と比較すると、MySQL リモートを使用するFileMaker Pro 連携には追加のコンポーネントがあります。この記事では、以下の各コンポーネントをFileMaker Pro とリンクする方法を説明します。
- CData JDBC ドライバー
- CData MySQL リモートデーモン(ドライバーに同梱)
- MySQL 用ODBC ドライバー
Windows では、FileMaker Pro は公式のMySQL ドライバー、MySQL Connector\ODBC を必要とします(現時点でのベストオプションはConnector\ODBC 8.0.11 です)。
macOS では、FileMaker Pro はActual Technologies Open Databases ODBC ドライバーを必要とします。
ODBC ドライバーマネージャー
Windows では、ドライバーマネージャーは組み込みです。macOS では、ODBC ドライバーをインストールする前にドライバーマネージャーをインストールする必要があります。iODBC ドライバーマネージャーをインストールしてください。
リモートデーモンの起動
以下の手順に従って、MySQL リモート機能を有効にします。
-
ターミナルを開き、インストールフォルダのlib サブフォルダに移動します。
$ cd "/Applications/CData/CData JDBC Driver for AlloyDB/lib"
- 構成ファイル(デフォルトではcdata.jdbc.alloydb.remoting.ini)を編集します。
- [databases] セクションをAlloyDB 用のJDBC 接続URL で更新します。
alloydb = "User=alloydb;Password=admin;Database=alloydb;Server=127.0.0.1;Port=5432"
AlloyDB 接続プロパティの取得・設定方法
AlloyDB に接続するには、次の接続プロパティが必要です。
- Server:AlloyDB データベースをホスティングしているサーバーのホスト名またはIP アドレス。
- Port(オプション):AlloyDB データベースをホスティングしているサーバーのポート。このプロパティはデフォルトで5432に設定されます。
- User:AlloyDB サーバーに認証する際に使われるユーザー。
- Password:AlloyDB サーバーに認証する際に使われるパスワード。
- Database(オプション):AlloyDB サーバーに接続する場合のデータベース。設定されていない場合は、ユーザーのデフォルトデータベースが使用されます。
AlloyDB への認証
標準認証
標準認証(事前に提供されたユーザーとパスワードの組み合わせを使用)は、デフォルトの認証形式です。標準認証で接続する場合は、これ以上のアクションは必要ありません。
pg_hba.conf 認証スキーム
CData 製品がサポートしている他の認証方法では、AlloyDB サーバー上のpg_hba.conf ファイルで有効化する必要があります。
AlloyDB サーバーでの認証の設定については、こちらを参照してください。
MD5
pg_hba.conf ファイルのauth-method をmd5 に設定すると、MD5 パスワード検証を使用して認証できます。
SASL
CData 製品は、SASL(特にSCRAM-SHA-256)でパスワードを検証することで認証できます。
この認証方法を使用するには、pg_hba.conf ファイルのauth-method をscram-sha-256 に設定します。
Kerberos
Kerberos 認証は、CData 製品が接続を試行している際にAlloyDB サーバーで開始されます。この認証方法を有効化するには、AlloyDB サーバーでKerberos を設定します。AlloyDB サーバーでのKerberos 認証の設定を完了したら、CData 製品からKerberos 認証を行う方法については、ヘルプドキュメントの「Kerberos の使用」セクションを参照してください。
利用可能な接続プロパティやその他のリモート設定オプションの詳細については、ヘルプドキュメントを参照してください。
- [databases] セクションをAlloyDB 用のJDBC 接続URL で更新します。
コマンドラインで構成ファイルまたは設定を指定して、MySQL デーモンを起動します。以下の例では、同梱のサンプル構成ファイルを使用しています。
$ java -jar cdata.jdbc.alloydb.jar -f "cdata.jdbc.alloydb.remoting.ini"
DSN の作成
AlloyDB への接続に成功しMySQL デーモンを起動したら、MySQL ODBC データソースを作成します。 ODBC データソースを使用する場合、DSN(データソース名)で接続プロパティを指定します。
ODBC ドライバーとドライバーマネージャーをまだ入手していない場合は、「ESS セットアップの概要」を参照して、お使いのプラットフォームでサポートされているコンポーネントを確認してください。
macOS
以下の手順に従って、iODBC グラフィカル管理ツールを使用します。
- Launchpad で検索してiODBC を開きます。
- システムDSN タブで、「追加」をクリックし、Actual Open Source Databases を選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:AlloyDB。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
Windows
組み込みのMicrosoft ODBC データソースアドミニストレータを使用してODBC DSN を作成できます。
- コントロールパネルから「データソース(ODBC)のセットアップ」を選択します。ODBC データソースアドミニストレータが表示されます。
- システムDSN タブで、「追加」をクリックし、MySQL ODBC ドライバーを選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:AlloyDB。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
AlloyDB シャドウテーブルの作成
シャドウテーブルは外部SQL ソースに存在しますが、FileMaker データベースの他のテーブルとほぼ同様に使用できます。リレーションシップグラフに追加したり、データを参照したり、レイアウトを作成したりできます。
- 「ファイル」->「管理」->「データベース」をクリックします。
- 表示されるダイアログの「リレーションシップ」タブで、「テーブル/リレーションシップ」セクションの「テーブルを追加」ボタンをクリックします。
- 「データソース」メニューで、「ODBC データソースを追加」を選択し、前のセクションで作成したDSN を選択します。
DSN のユーザー名とパスワードを指定すると、AlloyDB テーブルをリレーションシップグラフに追加できます。 「表示」->「ブラウズモード」をクリックすることで、リモートMySQL データベースと同様にAlloyDB のデータ のスクロール、ソート、編集、集計が可能になります。