MySQL Workbench からNetSuite のデータをクエリする方法

MySQL Workbench からNetSuite のリアルタイムデータにクエリを実行します。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-06-10

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

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

ODBC Driver for NetSuite とSQL Gateway を使用することで、MySQL インターフェースを使ってNetSuite にクエリを実行できます。この記事では、MySQL Workbench からNetSuite のデータにSQL クエリを投げてデータを取得する方法をご紹介します。

CData ODBC ドライバとは?

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

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

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

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

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

未指定の場合は、データソース名(DSN)で必要な接続プロパティの値を指定します。ドライバーのインストールの最後にODBC アドミニストレーターが開きます。Microsoft ODBC データソースアドミニストレーターでDSN を作成及び設定する方法については、ヘルプドキュメントの[はじめに]チャプターを参照してください。

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 への接続を仮想MySQL データベースとして設定する方法については、SQL Gateway の解説記事 を参照してください。クライアントからのMySQL リクエストを受けるMySQL リモートサービスを構築します。このサービスは、SQL Gateway のUI で構成できます。

SQL Gateway でMySQL のリモーティングサービスを設定

MySQL Workbench からNetSuite をクエリ

以下のステップでは、MySQL Workbench からSQL Gateway で作成された仮想NetSuite のデータベースに接続し、NetSuite のデータをリアルタイムで操作するための基本的なクエリを発行する方法を説明します。

SQL Gateway を介してNetSuite に接続

  1. MySQL Workbench で、[add a new MySQL connection]をクリックします。
  2. 接続(CData SQL Gateway for NetSuite)に名前を付けます。
  3. HostnamePortUsername のパラメータを設定し、SQL Gateway に接続します。
  4. Store in Vault をクリックしてパスワードを設定し、保存します。
  5. Test Connection をクリックして接続が正しく構成されていることを確認し、OK をクリックします。

NetSuite のデータをクエリしてみる

  1. 作成した接続(CData SQL Gateway for NetSuite)を開きます。
  2. [File]->[New Query Tab]と進みます。
  3. SELECT * FROM `CData NetSuite Sys`.SalesOrder; のようなNetSuite のデータを取得するSQL を書いて、実行します。
  4. 無事、NetSuite のデータが取得できました。

おわりに

MySQL Workbench からリアルタイムNetSuite のデータにアクセスすることで、MySQL データベースと同じようにNetSuite をクエリおよび更新できます。CData ODBC Driver for NetSuite とCData SQL Gateway の30日の無償評価版はこちらです。

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

関連コンテンツ

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

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