各製品の資料を入手。
詳細はこちら →MicroStrategy でCData JDBC Driver を使ってNetSuite に接続
CData JDBC Driver を使用してMicroStrategy Developer のNetSuite に接続します。
最終更新日:2023-09-16
この記事で実現できるNetSuite 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
MicroStrategy は、データ主導のイノベーションを可能にする、モビリティプラットフォームです。MicroStrategy をCData JDBC Driver for NetSuite とペアリングすると、MicroStrategy からリアルタイムNetSuite へのデータベースのようなアクセスが得られ、レポート機能と分析機能が拡張されます。この記事では、MicroStrategy Developer でNetSuite のデータベースインスタンスを作成し、NetSuite のWarehouse Catalog を作成します。
CData JDBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、MicroStrategy でリアルタイムNetSuite と対話するための圧倒的なパフォーマンスを提供します。MicroStrategy からNetSuite に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をNetSuite に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データタイプを使用してNetSuite を視覚化および分析できます。
MicroStrategy Developer のNetSuite に接続
CData JDBC Driver for NetSuite に基づくデータベースインスタンスを追加することにより、MicroStrategy Developer のNetSuite に接続できます。* 開始する前に、MicroStrategy Developer のインスタンスが接続されているMicroStrategy Intelligence Server をホストとするマシンにJDBC Driver for NetSuite をインストールする必要があります。
- MicroStrategy Developer を開き、[Project Source]を選択します。
- [Administration]->[Configuration Managers]->[Database Instances]と進み、右クリックして新しいインスタンスを追加します。
- インスタンスに名前を付け、データベース接続タイプとしてGeneric DBMS を選択し、新しいデータベース接続を作成します。
- データベース接続ウィザードで接続に名前を付け、新しいデータベースログイン名を作成してNetSuite のユーザーとパスワードを設定します。
- 接続ウィザードの[Advanced]タブで、追加の接続文字列パラメータを以下のように設定します。
- JDBC キーワードを接続文字列に追加します。
- MSTR_JDBC_JAR_FOLDER をJDBC ドライバーのJAR ファイルを含むディレクトリのパスに設定します。(C:\Program Files\CData JDBC Driver for NetSuite\lib\ on Windows.)
- DRIVER をドライバークラスであるcdata.jdbc.netsuite.NetSuiteDriver に設定します。
- URL をNetSuite ドライバーのJDBC URL に設定します。これには、必要な接続プロパティが含まれています。
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 に設定されている場合にのみ使用できます。
認証方法の詳細はヘルプドキュメントの「はじめに」を参照してください。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、NetSuite JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.netsuite.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は、一般的な追加の接続文字列プロパティです。
JDBC;MSTR_JDBC_JAR_FOLDER=PATH\TO\JAR\;DRIVER=cdata.jdbc.netsuite.NetSuiteDriver;URL={jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;};
- ODBC データソースが選択されていないことを確認し、(これによりMicroStrategy がトリガーされ、追加の接続文字列パラメータを使用してデータベースインスタンスが構築されます)[OK]をクリックします。
- [OK]をクリックし、データベースインスタンスウィザードを閉じます。
- [Project Source]でプロジェクトを右クリックし、[Project configuration]を開きます。
- [Database Instances]に移動し、新しく作成したデータベースインスタンスを選択して[OK]をクリックします。
- MicroStrategy Developerを閉じ、接続されたMicroStrategy Intelligence Server を再起動してデータベースインスタンスの作成を完了します。
データベースインスタンスを構成すると、Warehouse Catalog およびData Import からNetSuite に接続できるようになります。
Warehouse Catalog からNetSuite のデータに接続する
JDBC Driver for NetSuite に基づいてデータベースインスタンスを作成すると、Warehouse Catalog のデータに接続できます。
- プロジェクトを選択し、[Schema]->[Warehouse Catalog]をクリックします。
- [Read Settings for the Catalog]で[Settings]をクリックし、スキーマを取得するためのクエリを設定します。
- テーブルのリストを取得するには、以下のクエリを使用します。
SELECT * FROM SYS_TABLES
- 選択したテーブルの例のリストを取得するには、以下のクエリを使用します。
SELECT DISTINCT CatalogName NAME_SPACE, TableName TAB_NAME, ColumnName COL_NAME, DataTypeName DATA_TYPE, Length DATA_LEN, NumericPrecision DATA_PREC, NumericScale DATA_SCALE FROM SYS_TABLECOLUMNS WHERE TableName IN (#TABLE_LIST#) ORDER BY 1,2,3
- テーブルのリストを取得するには、以下のクエリを使用します。
- プロジェクトで使用するテーブルを選択します。
MicroStrategy のCData JDBC Driver for NetSuite を使用すると、NetSuite で安定したビジュアライズとレポートを簡単に作成できます。詳細については、MictroStrategy でのNetSuite への接続やMicroStrategy Desktop でのNetSuite への接続 に関するほかの記事をお読みください。
NoteJDBC Driver を使用して接続するには、3層から4層のアーキテクチャが必要です。