製品をチェック

NetSuite Data Provider の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

NetSuite アイコン NetSuite ADO.NET Provider 相談したい

潜在顧客、連絡先、営業案件、アカウントなどのNetSuite アカウントデータを組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。

PowerBuilder からNetSuite のデータに接続してみた

この記事ではCData ADO.NET Provider を使ってPowerBuilder からNetSuite にアクセスする方法を説明します。

加藤龍彦
デジタルマーケティング

最終更新日:2021-06-28
netsuite ロゴ

CData

ado ロゴ画像
PowerBuilder ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET providers は、PowerBuilder を含むMicrosoft .NET をサポートするあらゆるプラットフォームまたは開発テクノロジーから使用できる、使いやすい標準準拠のデータプロバイダーです。 この記事では、CData ADO.NET Provider for NetSuite をPowerBuilder で使う方法について説明します。

NetSuite とのデータ連携について

CData は、Oracle NetSuite のライブデータにアクセスして連携する最適な方法を提供します。CData のコネクティビティを使用すると、次のことが可能になります。

  • Standard、CRM、OneWorld を含むNetSuite の全エディションへアクセスできます。
  • SuiteTalk API(SOAP ベース)およびSuiteQL(SQL のように機能し、データのクエリや操作を容易にします)の全バージョンへ接続できます。
  • 保存検索のサポートにより、定義済みレポートやカスタムレポートにアクセスできます。
  • トークンベースおよびOAuth 2.0 によるセキュアな認証により、すべてのユースケースで互換性とセキュリティを確保します。
  • SQL ストアドプロシージャを使用して、ファイルのアップロードやダウンロード、レコードやリレーションシップの添付や解除、ロールの取得、テーブルやカラムの追加情報の取得、ジョブ結果の取得などの機能的なアクションを実行します。

ユーザーは、CData のソリューションを使用してPower BI やExcel といった好みの分析ツールからNetSuite のライブデータにアクセスしています。また、CData Sync を直接使用したり、Azure Data Factory のような他のアプリケーションとCData の互換性を活用したりして、NetSuite のデータを包括的なデータベースやデータウェアハウスに統合している場合もあります。CData はまた、Oracle NetSuite の顧客がNetSuite からデータを取得したり、NetSuite にデータを送信したりできるアプリケーションを簡単に作成できるよう支援し、企業がほかのデータソースのデータをNetSuite に統合することを可能にします。

Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data

CData ADO.NET Provider for NetSuite を使ってデータを取得し読み書きを実行する基本的なPowerBuilder アプリケーションを作成する方法について説明します。

  1. 新規WPF Window Application ソリューションで、接続プロパティに必要なすべてのビジュアルコントロールを追加します。一般的な接続文字列は次のとおりです:

    Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;

    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 は2つの形式のOAuth 認証を提供します。

    • トークンベース認証(TBA)は、基本的にOAuth 1.0 で、OAuthAccessTokenOAuthAccessTokenSecret を実行時ではなくNetSuite UI 内で作成します。 TBA は、2020.2 以降のSuiteTalk およびSuiteQL の両方で利用可能です。
    • OAuth 2.0 認証は、SuiteQL でのみ利用できます。OAuth 2.0 認証を強制するには、次のいずれかを実行します。
      • OAuthVersion を使用するAPI に明示的に設定、または
      • SchemaSuiteQL に設定

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

  2. .NET コントロールからDataGrid コントロールを追加します。
  3. DataGrid コントロールのカラムを設定します。Account テーブルからいくつかのカラムを以下に示します: <DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}"> <DataGrid.Columns> <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=InternalId}" Header="InternalId" Width="SizeToHeader" /> <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=CustomerName}" Header="CustomerName" Width="SizeToHeader" /> ... </DataGrid.Columns> </DataGrid>
  4. CData ADO.NET Provider for NetSuite アセンブリへの参照を追加します。

DataGrid 接続

ビジュアルエレメントが設定されたら、Connection、Command、およびDataAdapter のような標準のADO.NET オブジェクトを使ってSQL クエリの結果をDataTable に表示することができます:

System.Data.CData.NetSuite.NetSuiteConnection conn conn = create System.Data.CData.NetSuite.NetSuiteConnection(connectionString) System.Data.CData.NetSuite.NetSuiteCommand comm comm = create System.Data.CData.NetSuite.NetSuiteCommand(command, conn) System.Data.DataTable table table = create System.Data.DataTable System.Data.CData.NetSuite.NetSuiteDataAdapter dataAdapter dataAdapter = create System.Data.CData.NetSuite.NetSuiteDataAdapter(comm) dataAdapter.Fill(table) datagrid1.ItemsSource=table.DefaultView

上のコードは、指定したクエリからDataGrid にデータをバインドできます。

関連コンテンツ

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

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