Claris FileMaker のESS 機能からNetSuite のデータに連携する方法

Claris FileMaker の外部SQL データソース(ESS)機能とCData ODBC ドライバを使って、NetSuite のデータとシームレスに連携する方法を紹介します。

桑島義行
テクニカルディレクター

最終更新日:2024-01-12

この記事で実現できるNetSuite 連携のシナリオ

こんにちは!テクニカルディレクターの桑島です。

この記事では、Claris FileMaker の外部SQL データソース(ESS)機能とCData ODBC ドライバを利用して、NetSuite のデータにシームレスに連携する方法を紹介します。

FileMaker とNetSuite のデータを連携する3つの方法

FileMaker からNetSuite と連携するには大きく3つの方法があります。本記事では③の方法を解説しますが、①や②の方法を解説する記事も用意していますので、必要に応じて参照してください。

  1. ODBC インポート機能を活用:ODBC プロトコルを活用してFileMaker にデータを取り込みます。最も簡単な方法ですが、データに変更があった場合に全件再取り込みが必要になります。定期的にデータを更新する場合には、②の方法がベターです。詳しくはこちらの記事をご確認ください。
  2. スクリプト機能を活用:FileMaker に搭載されているスクリプト機能を活用することで、初回だけ全件データを取り込み、その後は変更のあったデータだけを取り込む差分更新でデータを更新できます。詳しくはこちらの記事をご確認ください。
  3. 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 経由でNetSuite のデータに連携することが可能となります。

ちなみに、リアルタイム連携ではなくインポートだけの処理であれば、ESS やSQL Gateway を使わなくてもサードパーティODBC のデータをインポートすることが可能です。詳しくはODBC でNetSuite のデータをFilemaker にインポートの記事を参照してください。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. NetSuite をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにNetSuite のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてNetSuite の接続を設定、2.Claris FileMaker 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとNetSuite への接続設定

まずは、本記事右側のサイドバーからNetSuite ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

インストールが完了したら、NetSuite との接続設定を進めていきましょう。

インストール後自動的にNetSuite DSN の設定画面が表示されるので、必要な接続プロパティを取得・設定していきます。

ODBC DSN にNetSuite を設定。

Netsuite への接続

NetSuite は現在、2つの異なるAPI を提供しています。

  • SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
  • SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。

NetSuite に接続するには、以下を行う必要があります。

  1. Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
  2. 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)

Netsuite への認証

SuiteTalk またはSuiteQL

NetSuite は3つの形式のOAuth 認証を提供します。

  • トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessTokenOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
  • OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
    • OAuthVersion を使用するAPI に明示的に設定、または
    • SchemaSuiteQL に設定
  • OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、SchemaSuiteQL に設定されている場合にのみ使用できます。

認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。

SQL Gateway でNetSuite ODBC のサービスを設定

次にSQL Gateway で上の手順で作成したNetSuite ODBC DSN をMySQL サービスとして公開します。

  • CData ODBC ドライバをインストールしたWindows マシンのプログラムメニューから「CData SQL Gateway」を起動します。
  • 起動するとCData SQL Gateway のコンソールが開きます。「サービス」タブを開き、「追加」ボタンをクリックします。「新規サービスの追加」ダイアログが表示されるので以下の項目をセットします。
    • サービス名:任意(アルファベットでスペースなどの特殊文字系は含めないのが望ましい、本例では「CData」)
    • 選択(TDS(SQLServer)、MySQL)ラジオボタン:「MySQL」を選択
    • データソース :CData ODBC ドライバのシステムDSN 名を選択(本例では、CData NetSuite Sys)
    • ポート:同マシンにMySQL が既に起動している場合は、デフォルトの3306が既に利用されているので本例では「3307」を指定
    SQL Gateway のサービス設定。
  • 「OK」ボタンをクリックして「新規サービスの追加」ダイアログを閉じ、上記で設定したサービスが追加されたのを確認します。
  • SQL Gateway のサービスの登録を確認。
  • 「ユーザー」タブを開き、「追加」ボタンをクリックします。「新規ユーザーの追加」ダイアログが表示されるので任意の名称で「ユーザー」および「パスワード」を設定します。本情報が、仮想MySQL へのログイン情報となりますので手元に控えておいてください。
  • SQL Gateway のユーザーを作成。
  • 「サービス」タブに移動して上段メニューの「変更を保存」、その後に「開始」ボタンをクリックします。仮想MySQL インスタンスが起動するとサービス名左横のランプが緑になります。
  • SQL Gateway のNetSuite サービスを稼働。

Claris Filemaker のESS からNetSuite に連携

それでは、ESS からNetSuite に連携していきましょう。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 ODBC Driver のDSN を追加。
  • 「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 NetSuite Sys」を選択
  • MySQl ODBC にSQL Gateway への接続を設定。
  • 「Test」ボタンをクリックして「Connection Successful」ダイアログが表示されることを確認してダイアログ含め「OK」ボタンで保存して「ODBC データソース アドミニストレーター(64ビッド)」ウィンドウまで閉じてください。

FileMaker ESS 機能からNetSuite のデータに連携

  • FileMaker のデータベースの管理にて、「リレーションシップ」タブから「テーブル」を追加します。データソース として「ODBC データソース の追加」を選びます。
  • Filemaker 側の設定。
  • ODBC データソースを選択の画面で、MySQL ODBC Driver で設定したデータソース名(ドライバがMySQL ODBC 8.0 Unicode Driver のもの)を選択します。注意点としては、ここでCData ODBC ドライバのデータソース 名(CData NetSuite Sys)を選択しないでください。
  • Filemaker 側の設定。
  • 「データソース の編集」画面で以下の項目をセットして「OK」ボタンをクリックします。
    • 名前:任意(本例では「CData」)
    • 認証(ユーザ名とパスワードを指定) :SQL Gateway で設定した仮想MySQLへのログイン ユーザ名、および、パスワード
    • カタログ名:CData ODBC ドライバのDSN 名(CData NetSuite Sys)
  • Filemaker 側の設定。
  • 「テーブルを指定」ダイアログにてFileMaker のレイアウトで利用したデータソース 内のテーブルを選択します。
  • Filemaker 側の設定。
  • 「データベースの管理」に選択したテーブルが追加されたことを確認します。
  • Filemaker 側の設定。。
  • 指定したテーブルをレイアウトにセットします。データソース 内のデータが表示されれば成功です。
  • Filemaker 側の設定。

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。