FileMaker Pro からQuickBooks Online のデータへの双方向アクセス
この記事では、CData JDBC Driver for QuickBooks Online を使用して、FileMaker Pro のExternal SQL Sources(ESS)機能と連携する方法を説明します。ESS を利用すると、FileMaker Pro 内のレコードを他のデータストアの関連レコードとリンクできます。
MySQL リモート機能を使用して、QuickBooks Online をリモートMySQL データベースとしてアクセスします。CData JDBC Driver for QuickBooks Online は、JDBC とMySQL の両規格を実装しており、FileMaker Pro のように従来のMySQL データベースへの接続はサポートしていても、汎用のJDBC 接続をサポートしていないアプリケーションとの連携を実現します。
QuickBooks Online データ連携について
CData は、QuickBooks Online のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- フィルターや集計などの複雑な操作に対するプッシュダウンクエリ最適化により、高性能なデータ読み取りを実現します。
- QuickBooks Online データの読み取り、書き込み、更新、削除ができます。
- SQL ストアドプロシージャを使用して、レポートの実行、添付ファイルのダウンロード、請求書の送信や無効化をコードから直接実行できます。
- OAuth と TLS 1.2、SHA-256、ECC などの最新の暗号化を使用して安全に接続できます。
多くのユーザーは、Power BI や Excel などのお気に入りの分析ツールからライブ QuickBooks Online データにアクセスしたり、フェデレートアクセスでデータベースから直接アクセスしたり、CData ソリューションを使用して QuickBooks Online データを B2B コミュニケーション用の自動化ワークフローに簡単に統合したりしています。
お客様が CData の QuickBooks Online ソリューションで問題を解決している方法については、ブログをご覧ください:https://jp.cdata.com/blog/360-view-of-your-customers
はじめに
FileMaker Pro 連携方式の選択
FileMaker Pro には2つのデータアクセス方式があります。
- データインポート:QuickBooks Online データをFileMaker Pro データベースにコピーし、必要に応じて更新できます。この方式を簡素化するには、CData ODBC ドライバーを使用します。FileMaker Pro はODBC をネイティブサポートしていますが、JDBC はサポートしていません。この方式については、FileMaker Pro でのODBC QuickBooks Online 連携を参照してください。
- 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 QuickBooks Online/lib"
- 構成ファイル(デフォルトではcdata.jdbc.quickbooksonline.remoting.ini)を編集します。
- [databases] セクションをQuickBooks Online 用のJDBC 接続URL で更新します。
quickbooksonline = ""
QuickBooks Online への接続にはOAuth 認証標準を使います。Embedded Credentials を使用すると、接続プロパティを設定せずに接続できます。接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えるだけです。CData 製品がOAuth プロセスを完了します。
詳細はヘルプドキュメントを参照してください。
利用可能な接続プロパティやその他のリモート設定オプションの詳細については、ヘルプドキュメントを参照してください。
- [databases] セクションをQuickBooks Online 用のJDBC 接続URL で更新します。
コマンドラインで構成ファイルまたは設定を指定して、MySQL デーモンを起動します。以下の例では、同梱のサンプル構成ファイルを使用しています。
$ java -jar cdata.jdbc.quickbooksonline.jar -f "cdata.jdbc.quickbooksonline.remoting.ini"
DSN の作成
QuickBooks Online への接続に成功しMySQL デーモンを起動したら、MySQL ODBC データソースを作成します。 ODBC データソースを使用する場合、DSN(データソース名)で接続プロパティを指定します。
ODBC ドライバーとドライバーマネージャーをまだ入手していない場合は、「ESS セットアップの概要」を参照して、お使いのプラットフォームでサポートされているコンポーネントを確認してください。
macOS
以下の手順に従って、iODBC グラフィカル管理ツールを使用します。
- Launchpad で検索してiODBC を開きます。
- システムDSN タブで、「追加」をクリックし、Actual Open Source Databases を選択します。
- 以下の情報を入力してウィザードを完了します。
- 名前:DSN を入力します。
- サーバー:127.0.0.1 またはMySQL デーモンが実行されているマシンのアドレスを入力します。
- ポート:デーモンがリッスンしているポートを入力します。例:3306。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:QuickBooksOnline。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「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。
- データベース:デーモンの構成ファイルで指定されたデータベース名を入力します。例:QuickBooksOnline。
- 「メタデータ」タブで、以下のチェックボックスをオンにします。
- 「Ignore schema in column specifications」
- 「Don't use INFORMATION_SCHEMA for metadata」
- 「接続テスト」をクリックし、ダイアログで資格情報を入力します。
QuickBooks Online シャドウテーブルの作成
シャドウテーブルは外部SQL ソースに存在しますが、FileMaker データベースの他のテーブルとほぼ同様に使用できます。リレーションシップグラフに追加したり、データを参照したり、レイアウトを作成したりできます。
- 「ファイル」->「管理」->「データベース」をクリックします。
- 表示されるダイアログの「リレーションシップ」タブで、「テーブル/リレーションシップ」セクションの「テーブルを追加」ボタンをクリックします。
- 「データソース」メニューで、「ODBC データソースを追加」を選択し、前のセクションで作成したDSN を選択します。
DSN のユーザー名とパスワードを指定すると、QuickBooks Online テーブルをリレーションシップグラフに追加できます。 「表示」->「ブラウズモード」をクリックすることで、リモートMySQL データベースと同様にQuickBooks Online のデータ のスクロール、ソート、編集、集計が可能になります。