FileMaker Pro からLakebase のデータへの双方向アクセス
この記事では、CData JDBC Driver for Lakebase を使用して、FileMaker Pro のExternal SQL Sources(ESS)機能と連携する方法を説明します。ESS を利用すると、FileMaker Pro 内のレコードを他のデータストアの関連レコードとリンクできます。
MySQL リモート機能を使用して、Lakebase をリモートMySQL データベースとしてアクセスします。CData JDBC Driver for Lakebase は、JDBC とMySQL の両規格を実装しており、FileMaker Pro のように従来のMySQL データベースへの接続はサポートしていても、汎用のJDBC 接続をサポートしていないアプリケーションとの連携を実現します。
FileMaker Pro 連携方式の選択
FileMaker Pro には2つのデータアクセス方式があります。
- データインポート:Lakebase データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC Lakebase 連携を参照してください。
- 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 Lakebase/lib"
- 構成ファイル(デフォルトではcdata.jdbc.lakebase.remoting.ini)を編集します。
- [databases] セクションをLakebase 用のJDBC 接続URL で更新します。
lakebase = "DatabricksInstance=lakebase;Server=127.0.0.1;Port=5432;Database=my_database;"
Databricks Lakebase に接続するには、以下のプロパティを設定します。
- DatabricksInstance: Databricks インスタンスまたはサーバーホスト名を指定します。形式は instance-abcdef12-3456-7890-abcd-abcdef123456.database.cloud.databricks.com です。
- Server: Lakebase データベースをホストするサーバーのホスト名または IP アドレスを指定します。
- Port(オプション): Lakebase データベースをホストするサーバーのポート番号を指定します。デフォルトは 5432 です。
- Database(オプション): Lakebase サーバーへの認証後に接続するデータベースを指定します。デフォルトでは認証ユーザーのデフォルトデータベースに接続します。
OAuth クライアント認証
OAuth クライアント資格情報を使用して認証するには、サービスプリンシパルで OAuth クライアントを構成します。手順の概要は以下のとおりです。
- 新しいサービスプリンシパルを作成・構成する
- サービスプリンシパルに権限を割り当てる
- サービスプリンシパル用の OAuth シークレットを作成する
詳細については、ヘルプドキュメントの「Setting Up OAuthClient Authentication」セクションをご参照ください。
OAuth PKCE 認証
PKCE(Proof Key for Code Exchange)を使用した OAuth code タイプで認証するには、以下のプロパティを設定します。
- AuthScheme: OAuthPKCE を指定します。
- User: 認証ユーザーのユーザー ID を指定します。
詳細については、ヘルプドキュメントをご参照ください。
利用可能な接続プロパティやその他のリモート設定オプションの詳細については、ヘルプドキュメントを参照してください。
- [databases] セクションをLakebase 用のJDBC 接続URL で更新します。
コマンドラインで構成ファイルまたは設定を指定して、MySQL デーモンを起動します。以下の例では、同梱のサンプル構成ファイルを使用しています。
$ java -jar cdata.jdbc.lakebase.jar -f "cdata.jdbc.lakebase.remoting.ini"
DSN の作成
Lakebase への接続に成功しMySQL デーモンを起動したら、MySQL ODBC データソースを作成します。 ODBC データソースを使用する場合、DSN(データソース名)で接続プロパティを指定します。
ODBC ドライバーとドライバーマネージャーをまだ入手していない場合は、「ESS セットアップの概要」を参照して、お使いのプラットフォームでサポートされているコンポーネントを確認してください。
macOS
以下の手順に従って、iODBC グラフィカル管理ツールを使用します。
- Launchpad で検索してiODBC を開きます。
- システムDSN タブで、「追加」をクリックし、Actual Open Source Databases を選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:Lakebase。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「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。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:Lakebase。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
Lakebase シャドウテーブルの作成
シャドウテーブルは外部SQL ソースに存在しますが、FileMaker データベースの他のテーブルとほぼ同様に使用できます。リレーションシップグラフに追加したり、データを参照したり、レイアウトを作成したりできます。
- 「ファイル」->「管理」->「データベース」をクリックします。
- 表示されるダイアログの「リレーションシップ」タブで、「テーブル/リレーションシップ」セクションの「テーブルを追加」ボタンをクリックします。
- 「データソース」メニューで、「ODBC データソースを追加」を選択し、前のセクションで作成したDSN を選択します。
DSN のユーザー名とパスワードを指定すると、Lakebase テーブルをリレーションシップグラフに追加できます。 「表示」->「ブラウズモード」をクリックすることで、リモートMySQL データベースと同様にLakebase のデータ のスクロール、ソート、編集、集計が可能になります。