各製品の資料を入手。
詳細はこちら →CData ODBC Driver を使ってAsprovaをNetSuite と連携
CData ODBC Driver を使って、AsprovaとNetSuite とのデータ連携を実現します。
最終更新日:2022-02-13
こんにちは!プロダクトスペシャリストの浦邉です。
生産スケジューラ「Asprova」はODBC によるデータベース接続をサポートしているため、これを通してNetSuiteとのデータ連携を行うことが可能です。 通常、NetSuiteなどのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData NetSuite ODBC Driver によって、RDB にアクセスするのと同じ感覚で、NetSuite のデータを扱うことができます。 本記事ではNetSuiteからAsprovaへの「品目」データ取り込みの例を通してデータ連携手順を示します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持った製品です。
- NetSuite をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレデータソースに対応
- 多様なアプリケーション、ツールにNetSuite のデータを連携
- ノーコードでの手軽な接続設定
- 標準SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてNetSuite の接続を設定、2.Asprova 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとNetSuite への接続設定
まずは、本記事右側のサイドバーからNetSuite ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストールが完了したら、DSN 設定画面が開くので、必要な接続プロパティを入力してNetSuite への接続を行います。
Netsuite への接続
NetSuite は現在、2つの異なるAPI を提供しています。
- SuiteTalk はNetSuite との通信に使用する、SOAP ベースのより古いサービスです。多くのエンティティを幅広くサポートし、INSERT / UPDATE / DELETE を完全にサポートします。 しかしデータの抽出用ツールは低機能で、SELECT 時のパフォーマンスは極めて低いです。テーブルを結合するよい方法もありません。データのグループ化および集計はこのAPI からは利用できず、 そのためこれらの操作をサポートするには、すべてをクライアントサイドで実行しなければなりません。
- SuiteQL は新しいAPI です。サービスとのSQL ライクな通信方法を実現するため、JOIN の機能はより豊富になり、GROUP BY や集計機能もサポートします。 加えて、抽出したいカラムだけを取得する機能も完全にサポートします。そのため、データを抽出する際のパフォーマンスがSuiteTalk より大幅に向上しています。ただし、サポートされるのはデータの抽出のみです。
NetSuite に接続するには、以下を行う必要があります。
- Schema を設定して、接続に使用するAPI を指定。データを取得するだけの場合は、SuiteQL の使用をお勧めします。データの取得および変更が必要な場合は、SuiteTalk の使用をお勧めします。
- 使用するAPI に適した接続オプションを設定します。(それぞれのAPI で利用可能な接続オプションが異なります。ヘルプドキュメントの「許可の設定」を参照してください。)
Netsuite への認証
SuiteTalk またはSuiteQL
NetSuite は3つの形式のOAuth 認証を提供します。
- トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessToken とOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
- OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
- OAuthVersion を使用するAPI に明示的に設定、または
- Schema をSuiteQL に設定
- OAuth JWT 認証は、OAuth 2.0 クライアント認証フローであり、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。この認証方法は、Schema がSuiteQL に設定されている場合にのみ使用できます。
認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。
Asprovaでの接続情報の設定
-
メニューの「ファイル」から「データ入出力」を選択し、「データ入出力」ダイアログを開きます。
-
「品目」行のヘッダをダブルクリックし、「データ入出力の編集」ダイアログを開きます。
-
「RDBトランザクション」を「いいえ」に変更し、「OK」を押下します。
データドライバの設定
-
「品目」の「データソースの種類」を「OLE DB」に変更します。
-
「接続文字列/フォルダ」列のボタンを押下し、「データ リンク プロパティ」ダイアログを開きます。 「プロバイダー」タブで「Microsoft OLE DB Provider for ODBC Drivers」を選択し「次へ」を押下します。
-
「接続」タブで「データソース名を使用する」が選択されていることを確認し、コンボボックスで「CData NetSuite Source」を選択します。
-
「接続のテスト」を押下し「接続のテストに成功しました」というメッセージが表示されればドライバの設定に成功です。
スキーマの設定
-
「外部テーブル名」列のボタンを押下し、「テーブル一覧」ダイアログを開きます。 ここでNetSuiteのテーブル一覧が表示されることを確認してください。
-
出力先テーブル(Asprovaの品目)、入力元テーブルの項目の対応付けを行います。「フィールドマッピング」列のボタンを押下し、「品目-フィールドマッピング」画面を開きます。
-
画面の二つのテーブルの間で右クリックし、コンテキストメニューの「全削除」を選択します。すべてのマッピングが削除されたことを確認し、項目同士をドラッグアンドドロップでつなぎ上記のマッピングを設定します。
-
これでデータ取り込みの設定は終了です。メニューの「ファイル」から「インポート」をクリックします。画面下のメッセージでエラーが出なければインポートは完了です。
データの確認
メニューの「テーブル表示」から「品目」を選択します。下図のように、NetSuiteから取り込んだ商品データが表示されれば成功です。