こんにちは!テクニカルディレクターの桑島です。
この記事では、Claris FileMaker の外部SQL データソース(ESS)機能とCData ODBC ドライバを利用して、Excel のデータにシームレスに連携する方法を紹介します。
FileMaker とExcel のデータを連携する3つの方法
FileMaker からExcel と連携するには大きく3つの方法があります。本記事では③の方法を解説しますが、①や②の方法を解説する記事も用意していますので、必要に応じて参照してください。
- ODBC インポート機能を活用:ODBC プロトコルを活用してFileMaker にデータを取り込みます。最も簡単な方法ですが、データに変更があった場合に全件再取り込みが必要になります。定期的にデータを更新する場合には、②の方法がベターです。詳しくはこちらの記事をご確認ください。
- スクリプト機能を活用:FileMaker に搭載されているスクリプト機能を活用することで、初回だけ全件データを取り込み、その後は変更のあったデータだけを取り込む差分更新でデータを更新できます。詳しくはこちらの記事をご確認ください。
- ESS(External SQL Source)機能を活用:本記事で解説する方法です。ESS はFileMaker から外部データソースにリアルタイム接続できる機能です。接続設定は少し面倒ですが、ESS ではリアルタイム接続が可能なので、データ変更をすぐに反映したい、という場合にはベストな方法です。
FileMaker のESS 機能とは?
FileMaker のESS 機能は、FileMaker から外部データソースにリアルタイムで接続できる機能です。ただし、ネイティブで使用できるODBC Driver はFileMaker 側がサポートしているドライバーのみであり、CData ODBC ドライバのような任意のサードパーティドライバーを使用することができません。
SQL Gateway でESS のデータソースを拡充
そこで今回は、CData ODBC ドライバをMySQL に仮想化してアクセスできるようにするSQL Gateway という機能を活用します。この機能を使うことで、FileMaker のESS 側ではデフォルトのMySQL ODBC Driver を使いつつ、SQL Gateway 経由でExcel のデータに連携することが可能となります。
ちなみに、リアルタイム連携ではなくインポートだけの処理であれば、ESS やSQL Gateway を使わなくてもサードパーティODBC のデータをインポートすることが可能です。詳しくはODBC でExcel のデータをFilemaker にインポートの記事を参照してください。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Excel をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにExcel のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてExcel の接続を設定、2.Claris FileMaker 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとExcel への接続設定
まずは、本記事右側のサイドバーからExcel ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、Excel との接続設定を進めていきましょう。
インストール後自動的にExcel DSN の設定画面が表示されるので、必要な接続プロパティを取得・設定していきます。
Authentication セクションのExcelFile には有効なExcel ファイルを設定する必要があります。
Amazon S3 内のExcel への接続
URI をバケット内のExcel ファイルに設定します。さらに、次のプロパティを設定して認証します。
- AWSAccessKey:AWS アクセスキー(username)に設定。
- AWSSecretKey:AWS シークレットキーに設定。
Box 内のExcel への接続
URI をExcel ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
Dropbox 内のExcel への接続
URI をExcel ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続
を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。
SharePoint Online SOAP 内のExcel への接続
URI をExcel ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
SharePoint Online REST 内のExcel への接続
URI をExcel ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
FTP 内のExcel への接続
URI をExcel ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
Google Drive 内のExcel への接続
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive
への接続」を参照してください。
SQL Gateway でExcel ODBC のサービスを設定
次にSQL Gateway で上の手順で作成したExcel ODBC DSN をMySQL サービスとして公開します。
- CData ODBC ドライバをインストールしたWindows マシンのプログラムメニューから「CData SQL Gateway」を起動します。
- 起動するとCData SQL Gateway のコンソールが開きます。「サービス」タブを開き、「追加」ボタンをクリックします。「新規サービスの追加」ダイアログが表示されるので以下の項目をセットします。
- サービス名:任意(アルファベットでスペースなどの特殊文字系は含めないのが望ましい、本例では「CData」)
- 選択(TDS(SQLServer)、MySQL)ラジオボタン:「MySQL」を選択
- データソース :CData ODBC ドライバのシステムDSN 名を選択(本例では、CData Excel Sys)
- ポート:同マシンにMySQL が既に起動している場合は、デフォルトの3306が既に利用されているので本例では「3307」を指定
- 「OK」ボタンをクリックして「新規サービスの追加」ダイアログを閉じ、上記で設定したサービスが追加されたのを確認します。
- 「ユーザー」タブを開き、「追加」ボタンをクリックします。「新規ユーザーの追加」ダイアログが表示されるので任意の名称で「ユーザー」および「パスワード」を設定します。本情報が、仮想MySQL へのログイン情報となりますので手元に控えておいてください。
- 「サービス」タブに移動して上段メニューの「変更を保存」、その後に「開始」ボタンをクリックします。仮想MySQL インスタンスが起動するとサービス名左横のランプが緑になります。
Claris Filemaker のESS からExcel に連携
それでは、ESS からExcel に連携していきましょう。MySQL Driver のインストールからはじめます。
MySQL ODBC Driver のインストールと設定
- MySQL ODBC 8.0 Unicode Driver の64bit Windows版をダウンロードしてインストールします。
- インストールが完了したら、Windows の検索から「odbc」と入力して「ODBCデータソース (64bit)」を起動します。
- 「システムDSN」タブを開き、「追加」ボタンから「データソース の新規作成」にて「MySQL ODBC 8.0 Unicode Driver」を選択して「完了」ボタンをクリックします。
-
「MySQL Connector/ODBC Data Source Configuration」が起動して以下の項目をセットします。
- Data Souce Name : 任意の名称(本例では、「CData」)
- TCP/IP Server : CData SQL Gateway の仮想MySQL が起動しているマシンのIP アドレス(同一マシンの場合は「localhost」)
- Port : SQL Gatewayで設定したポート(本手順では「3307」を使用)
- User : SQL Gatewayで設定したユーザー名
- >Password : SQL Gateway で設定したユーザーのパスワード
- Database : ドロップダウンリストからCData ODBC ドライバのDSN 名称「CData Excel Sys」を選択
- 「Test」ボタンをクリックして「Connection Successful」ダイアログが表示されることを確認してダイアログ含め「OK」ボタンで保存して「ODBC データソース アドミニストレーター(64ビッド)」ウィンドウまで閉じてください。
FileMaker ESS 機能からExcel のデータに連携
- FileMaker のデータベースの管理にて、「リレーションシップ」タブから「テーブル」を追加します。データソース として「ODBC データソース の追加」を選びます。
- ODBC データソースを選択の画面で、MySQL ODBC Driver で設定したデータソース名(ドライバがMySQL ODBC 8.0 Unicode Driver のもの)を選択します。注意点としては、ここでCData ODBC ドライバのデータソース 名(CData Excel Sys)を選択しないでください。
- 「データソース の編集」画面で以下の項目をセットして「OK」ボタンをクリックします。
- 名前:任意(本例では「CData」)
- 認証(ユーザ名とパスワードを指定) :SQL Gateway で設定した仮想MySQLへのログイン ユーザ名、および、パスワード
- カタログ名:CData ODBC ドライバのDSN 名(CData Excel Sys)
- 「テーブルを指定」ダイアログにてFileMaker のレイアウトで利用したデータソース 内のテーブルを選択します。
- 「データベースの管理」に選択したテーブルが追加されたことを確認します。
- 指定したテーブルをレイアウトにセットします。データソース 内のデータが表示されれば成功です。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。