CData JDBC Driver for NetSuite 2016J - Online Help
CData JDBC Driver for NetSuite 2016J - Build 16.0.6362

NetSuite への接続

NetSuite に接続

NetSuite への接続は非常に簡単です。UserPassword、およびAccountId プロパティを設定して接続するだけです。 また、RoleId およびNetsuiteMetadataFolder を指定することを推奨します(必須ではありません)。RoleId を指定しない場合は、ユーザーのデフォルトロールが使用されます。NetSuite Metadata Folder は、NetSuite のメタデータファイルが格納されるディスク上のフォルダです。 指定しない場合は、フォルダの場所は自動的に選択されます。 テーブルに関するメタデータをリストする際のロード時間を速くするためには、このプロパティを設定してください。

Netsuite Web サービス権限

本製品 はNetSuite Web サービス経由でNetSuite と通信します。これは、接続で指定したユーザーが、NetSuite Web サービス経由で接続するためのAccountId の権限を持っている必要があることを意味します。 ユーザーがWeb サービスの権限を持っていない場合、接続しようとすると「Web サービス機能にアクセスする権限がありません。」という例外が発生します。 この場合、管理者は以下の方法でユーザーにWeb サービスの権限を与える必要があります。

1.Web サービス のロールを作成

  • NetSuite にログインし、[設定]メニューから[ユーザー/ロール]->[ロール管理]->[新規作成]に進みます。
  • [許可]->[設定]をクリックし、[Webサービス]ロールを追加します。
  • その他、さまざまなエンティティやトランザクションを扱うために必要な権限を追加します。
  • [設定]メニューから[ユーザー/ロール]->[ユーザー管理]に進み、ユーザーを選択します。
  • [アクセス]タブで、新規作成したロールを追加しユーザーを保存します。
2.ユーザーのロールをWebService のデフォルトロールに設定(オプション - 代わりに接続で提供可能)
  • NetSuite にログインし、[設定]メニューから[インテグレーション]->[Webサービスのプリファレンス]に進みます。
  • [名前]メニューからユーザーを選択します。[WEBサービスデフォルトロール]メニューで、新規作成したロールを選びます。
  • [追加]をクリックして変更を保存します。

ユーザーセッション

NetSuite に接続する際、デフォルトでNetSuite はユーザーに一度に1セッションのみ確立を許可します。2つ目のセッションが開始された場合、1つ目のセッションは無効化されます。 そのため、デフォルトでUseSessions をfalse にしています。これにより、各リクエストがそれぞれ独自のセッションになります。UseSessions をtrue に設定する場合は、新しい接続を開始する前に各接続を閉じるように注意してください。 そうしないと、セッションがタイムアウトしたという例外を受け取ります。いくつかのUI エディタは複数の接続を受け付けるため、UseSessions をtrue に設定するとこのシナリオでは例外が発生します。

コンカーレントリクエスト

NetSuite はデフォルトで、指定されたユーザーに対して一度に1つのリクエストのみ許可します。NetSuite に対してリクエストが実行されているときに別のリクエストが出された場合は、2つ目の接続で、「1つのセッションに対して一度に実行できるリクエストは1つだけです。」というエラーが発生します。

NetSuite の応答時間

NetSuite の応答時間は、取得する内容によって長くかかる場合があります。応答時間には幅があり、1000 SalesOrders の取得には20-40秒ですが、単一ページのSalesOrder_ItemList の取得には8-12分かかります。 パフォーマンスに影響する主な要因は、子テーブルの情報が取得されるかどうかです。 例えば、SalesOrder_ItemList テーブルはSalesOrder テーブルの子テーブルであると考えられます。さらに、SalesOrder テーブルのItemListAggregate 内の情報は、子テーブルの情報だと考えられます。 NetSuite からの応答時間に深刻な遅延を生じさせるため、AggregateColumnMode はデフォルトでIgnore に設定されています。 Ignore またはList に設定した場合は、SalesOrder などの基本テーブルのAggregate カラムはNetSuite からデータをリクエストしません。このプロパティは、子テーブルには影響を与えません。

非同期サービス

応答時間の遅延は、挿入、更新、または削除する場合にも起きることがあります。これは、INSERT INTO SELECT ステートメントUPDATE SELECT ステートメント、またはDELETE SELECT ステートメント 構文を使う場合に特に顕著です。 一度に複数のレコードを挿入、更新、または削除する場合は、UseAsyncServices をtrue に設定するとよいかもしれません。これによりリクエストはNetSuite 側で非同期で処理され、JobId がInfo#TEMP テーブルに返されます。 JobId はストアドプロシージャCheckJobStatus およびGetJobResults に対して、ジョブがいつ完了したか、エラーが発生したかどうか、新規作成されたエンティティのInternalId を確認できます。

 
 
Copyright (c) 2017 CData Software, Inc. - All rights reserved.
Build 16.0.6362.0