この記事では、Claris FileMaker (以下、FileMaker)のESS(External SQL Source)機能からCData ODBC Driver、および、SQL Gateway を利用してSage 300 データにシームレスに連携する方法を紹介します。
FileMaker のESS(External SQL Source)機能は、FileMaker から外部データソースにライブ接続できる機能です。ただし、使用できるODBC driver は、FileMaker 側がサポートしているドライバーのみであり、CData ODBC Drivers のような任意のサードパーティドライバーを使用することができません。そこで、CData ODBC Driver をMySQL に仮想してアクセスできるようにするSQL Gateway
を使います。FileMaker のESS 側はデフォルトのMySQL ODBC Driver を使ってSQL Gateway 経由でSage 300 データにアクセスします。
尚、インポートだけの処理だと、SQL Gateway を使わなくてもサードパーティODBC のデータをインポートすることが可能です。ODBC でSage 300 データをFilemaker にインポート
ODBC Driver でSage 300 データソースに接続
まずはCData ODBC Driver for Sage300 をインストールします。
接続プロパティの指定で、データソース名(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:アカウントのパスワードに設定します。
一般的な接続文字列は次のとおりです:
User=SAMPLE;Password=password;URL=http://127.0.0.1/Sage300WebApi/v1/-/;Company=SAMINC;
DSN はビルトインのMicrosoft ODBC データソースアドミニストレーターで設定できます。これはドライバーのインストールの最後の手順です。 Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
SQL Gateway でSage 300 ODBC のサービスを設定
次にSQL Gateway で上の手順で作成したSage 300 ODBC DSN をMySQL サービスとして公開します。
- CData ODBC Driver をインストールしたWindows マシンのプログラムメニューから「CData SQL Gateway」を起動します。
- 起動するとCData SQL Gateway のコンソールが開きます。「サービス」タブを開き、「追加」ボタンをクリックします。「新規サービスの追加」ダイアログが表示されるので以下の項目をセットします。
- サービス名:任意(アルファベットでスペースなどの特殊文字系は含めないのが望ましい、本例では「CData」)
- 選択(TDS(SQLServer)、MySQL)ラジオボタン:「MySQL」を選択
- データソース :CData ODBC Driver のシステムDSN 名を選択(本例では、CData Sage 300 Sys)
- ポート:同マシンにMySQL が既に起動している場合は、デフォルトの3306が既に利用されているので本例では「3307」を指定
- 「OK」ボタンをクリックして「新規サービスの追加」ダイアログを閉じ、上記で設定したサービスが追加されたのを確認します。
- 「ユーザー」タブを開き、「追加」ボタンをクリックします。「新規ユーザーの追加」ダイアログが表示されるので任意の名称で「ユーザー」および「パスワード」を設定します。本情報が、仮想MySQL へのログイン情報となりますので手元に控えておいてください。
- 「サービス」タブに移動して上段メニューの「変更を保存」、その後に「開始」ボタンをクリックします。仮想MySQL インスタンスが起動するとサービス名左横のランプが緑になります。
Claris Filemaker のESS からSage 300 に連携
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 Driver の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 Driver のデータソース 名(CData Sage 300 Sys)を選択しないでください。
- 「データソース の編集」画面で以下の項目をセットして「OK」ボタンをクリックします。
- 名前:任意(本例では「CData」)
- 認証(ユーザ名とパスワードを指定) :SQL Gateway で設定した仮想MySQLへのログイン ユーザ名、および、パスワード
- カタログ名:CData ODBC Driver のDSN 名(CData Sage 300 Sys)
- 「テーブルを指定」ダイアログにてFileMaker のレイアウトで利用したデータソース 内のテーブルを選択します。
- 「データベースの管理」に選択したテーブルが追加されたことを確認します。
- 指定したテーブルをレイアウトにセットします。データソース 内のデータが表示されれば成功です。
まとめと試用版
CData ODBC Driver for Sage300 とSQL Gateway を使うことで、Filemaker でSage 300 データをシームレスに扱えるようになります。ぜひ、30日の無償評価版
をお試しください。