SSIS を使ってNetSuite のデータをSQL Server にインポート

CData SSIS Components を使用して簡単にSQL Server へNetSuite をバックアップします。

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

最終更新日:2022-07-10

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

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

SQL Server に基幹業務データのバックアップを保管しておくことは、ビジネス上のセーフティネットとなります。また、ユーザーはSQL Server のバックアップデータからレポーティングや分析を簡単に行うことができます。

ここでは、SQL サーバー SSIS ワークフロー内でCData SSIS Tasks for NetSuite を使用して、NetSuite のデータをMicrosoft SQL Server データベースに転送する方法を説明します。

Components の追加

開始するには、新しいNetSuite ソースとSQL Server ADO.NET 転送先を新しいデータフロータスクに追加します。

The Data Flow task used in this example.(Salesforce is shown.)

新しいコネクションマネジャーを作成

以下のステップに従って、接続マネジャーでNetSuite 接続プロパティを保存します。

  1. Connection Manager ウィンドウで、右クリックで[New Connection] を選択します。Add SSIS Connection Manager ダイアログが表示されます。
  2. [Connection Manager type]メニューでNetSuite を選択します。CData NetSuite Connection Manager が表示されます。
  3. 接続プロパティを構成します。

    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 に設定されている場合にのみ使用できます。

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

NetSuite Source の構成

以下のステップに従って、NetSuite の抽出に使用するクエリを指定します。

  1. NetSuite ソースをダブルクリックしてソースコンポーネントエディタを開きます。
  2. [Connection Manager]メニューで、以前作成した接続マネジャーを選択します。The Connection Manager to be used for the source component.(Salesforce is shown.)
  3. データの書き出しに使用するクエリを指定します。例: SELECT Customer.FirstName AS CustomerName, SalesOrder.Total AS SalesOrderTotal FROM SalesOrder, Customer The SQL query to retrieve records.(Salesforce is shown.)
  4. NetSuite Source コントロールを閉じて、ADO.NET Destination に接続します。

SQL Server Destination を構成する

以下のステップに従って、NetSuite をロードするSQL サーバーテーブルを指定します。

  1. ADO.NET Destination を選択して、新しい接続を追加します。接続するサーバーおよびデータベースの情報を入力。
  2. Data access モードメニューで、[table or view]を選択します。
  3. [Table Or View]メニューで、設定するテーブルまたはビューを選択します。
  4. [Mappings]画面で必要なプロパティを設定します。 The mappings from the SSIS source component to SQL Server.(Salesforce is shown.)

プロジェクトの実行

プロジェクトを実行できるようになりました。SSIS Task の実行が完了すると、データベースにNetSuite のデータが入力されます。

The completed import.(Salesforce is shown.)

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

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