こんにちは!テクニカルディレクターの桑島です。
この記事では、Claris FileMaker の外部SQL データソース(ESS)機能とCData ODBC ドライバを利用して、Sage 300 データにシームレスに連携する方法を紹介します。
FileMaker とSage 300 のデータを連携する3つの方法
FileMaker からSage 300 と連携するには大きく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 経由でSage 300 データに連携することが可能となります。
ちなみに、リアルタイム連携ではなくインポートだけの処理であれば、ESS やSQL Gateway を使わなくてもサードパーティODBC のデータをインポートすることが可能です。詳しくはODBC でSage 300 データをFilemaker にインポートの記事を参照してください。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Sage 300 をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにSage 300 データを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてSage 300 の接続を設定、2.Claris FileMaker 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとSage 300 への接続設定
まずは、本記事右側のサイドバーからSage300 ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、Sage 300 との接続設定を進めていきましょう。
インストール後自動的にSage 300 DSN の設定画面が表示されるので、必要な接続プロパティを取得・設定していきます。
Sage 300 には、Sage 300 Web API で通信するための初期設定が必要となるます。
- Sage 300 のユーザー向けのセキュリティグループを設定します。Sage 300 のユーザーに、Security Groups の下にあるbSage 300 Web API
オプションへのアクセスを付与します(各モジュール毎に必要です)。
- /Online/Web と/Online/WebApi フォルダ内のweb.config ファイルを両方編集して、AllowWebApiAccessForAdmin
のキーを
true 設定します。webAPI アプリプールを再起動すると設定が反映されます。
- ユーザーアクセスを設定したら、https://server/Sage300WebApi/ をクリックして、web API
へのアクセスを確認してください。
Basic 認証を使用してSage 300 へ認証します。
Basic 認証を使用して接続する
Sage 300 に認証するには、次のプロパティを入力してください。プロバイダーは、クッキーを使用してSage 300 が開いたセッションを再利用することに注意してください。
そのため、資格情報はセッションを開く最初のリクエストでのみ使用されます。その後は、Sage 300 が返すクッキーを認証に使用します。
- Url:Sage 300 をホストするサーバーのURL に設定します。Sage 300 Web API 用のURL を次のように作成してください。
{protocol}://{host-application-path}/v{version}/{tenant}/ 例えば、
http://localhost/Sage300WebApi/v1.0/-/ です。
- User:アカウントのユーザー名に設定します。
- Password:アカウントのパスワードに設定します。
SQL Gateway でSage 300 ODBC のサービスを設定
次にSQL Gateway で上の手順で作成したSage 300 ODBC DSN をMySQL サービスとして公開します。
- CData ODBC ドライバをインストールしたWindows マシンのプログラムメニューから「CData SQL Gateway」を起動します。
- 起動するとCData SQL Gateway のコンソールが開きます。「サービス」タブを開き、「追加」ボタンをクリックします。「新規サービスの追加」ダイアログが表示されるので以下の項目をセットします。
- サービス名:任意(アルファベットでスペースなどの特殊文字系は含めないのが望ましい、本例では「CData」)
- 選択(TDS(SQLServer)、MySQL)ラジオボタン:「MySQL」を選択
- データソース :CData ODBC ドライバのシステムDSN 名を選択(本例では、CData Sage 300 Sys)
- ポート:同マシンにMySQL が既に起動している場合は、デフォルトの3306が既に利用されているので本例では「3307」を指定
- 「OK」ボタンをクリックして「新規サービスの追加」ダイアログを閉じ、上記で設定したサービスが追加されたのを確認します。
- 「ユーザー」タブを開き、「追加」ボタンをクリックします。「新規ユーザーの追加」ダイアログが表示されるので任意の名称で「ユーザー」および「パスワード」を設定します。本情報が、仮想MySQL へのログイン情報となりますので手元に控えておいてください。
- 「サービス」タブに移動して上段メニューの「変更を保存」、その後に「開始」ボタンをクリックします。仮想MySQL インスタンスが起動するとサービス名左横のランプが緑になります。
Claris Filemaker のESS からSage 300 に連携
それでは、ESS からSage 300 に連携していきましょう。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 Sage 300 Sys」を選択
- 「Test」ボタンをクリックして「Connection Successful」ダイアログが表示されることを確認してダイアログ含め「OK」ボタンで保存して「ODBC データソース アドミニストレーター(64ビッド)」ウィンドウまで閉じてください。
FileMaker ESS 機能からSage 300 データに連携
- FileMaker のデータベースの管理にて、「リレーションシップ」タブから「テーブル」を追加します。データソース として「ODBC データソース の追加」を選びます。
- ODBC データソースを選択の画面で、MySQL ODBC Driver で設定したデータソース名(ドライバがMySQL ODBC 8.0 Unicode Driver のもの)を選択します。注意点としては、ここでCData ODBC ドライバのデータソース 名(CData Sage 300 Sys)を選択しないでください。
- 「データソース の編集」画面で以下の項目をセットして「OK」ボタンをクリックします。
- 名前:任意(本例では「CData」)
- 認証(ユーザ名とパスワードを指定) :SQL Gateway で設定した仮想MySQLへのログイン ユーザ名、および、パスワード
- カタログ名:CData ODBC ドライバのDSN 名(CData Sage 300 Sys)
- 「テーブルを指定」ダイアログにてFileMaker のレイアウトで利用したデータソース 内のテーブルを選択します。
- 「データベースの管理」に選択したテーブルが追加されたことを確認します。
- 指定したテーブルをレイアウトにセットします。データソース 内のデータが表示されれば成功です。
おわりに
このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。