NetSuiteSQLCall - SQLの実行

任意のSQLの実行を行います。

NetSuiteへのアクセスはCData Software Inc.社の提供する技術を利用してRDBのようにSQLでアクセスする手段を提供します。利用できるSQLなどの詳細についてはこちらも参考にしてください。

その他CDataアダプターをご利用する際の注意事項に関してはこちらをご覧ください。

ストリーム情報

入力フォーマットすべて
接続数1
説明

入力ストリームは使われません。ストリームフォーマットは選択不可です。

出力フォーマットすべて
説明実行する処理が「SELECT文を発行」または「ストアド実行(結果あり)」の場合は、出力ストリームはRecordになります。
実行する処理が「任意のSQLを実行」または「ストアド実行(結果なし)」の場合は、入力ストリームをそのまま出力します。

コンポーネントプロパティ

名前データ型マッピング説明
コネクション名connection- 接続先のNetSuiteを指定します。 コネクションペインまたは管理コンソールにて作成されたNetSuite接続名を選択します。
実行する処理choice- 実行するSQLの種類を指定します。
各種類ごとの動作は、下記トピック「実行する処理ごとの動作」を参照してください。
任意のSQLを実行 [SQL]
SELECT以外の任意のSQLを実行する場合に使用します。
SELECT文を発行 [SQL-Record]
SELECT文を実行する場合に使用します。
ストアド実行(結果なし) [Procedure]
結果セットを返さないストアドプロシージャを実行する場合に使用します。
ストアド実行(結果あり) [ProcedureRecord]
結果セットを返すストアドプロシージャを実行する場合に使用します。
SQL文stringIn & Out 実行するSQLまたはProcedureを記述します。
フロー実行時の動的な値を含めるためのSQLまたはProcedureの記述方法は、下記トピック「SQLパラメーターの使い方」を参照してください。
ループを開始loopProcess-実行する処理が「SELECT文を発行」または「ストアド実行(結果あり)」の場合、結果セットをまとめて出力するか1レコードずつループして出力するかを選択します。実行する処理がこれ以外はプロパティが表示されません。
はい [true] - ループの起点となって1レコードずつストリームに出力します。
いいえ [false] - すべてのレコードがまとめてストリームに出力します。
タイムアウト(秒)intIn & Out NetSuiteに対してSQL文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。
指定時間を経過しても実行が終わらない場合はエラーになります。0の場合、タイムアウトしません。
レコードが無い場合エラーboolean- 結果セットのレコード件数が0件だった場合にエラーを発生するかどうかを選択します。
はい [true] - エラーを発生します。
いいえ [false] - 空のストリームを出力します。
処理件数intOut実行する処理が「任意のSQLを実行」の場合に更新されたレコード件数が取得できます。
実行する処理がそれ以外の場合はプロパティが表示されません。
トランザクションに含めるboolean- このプロパティの値は無視されます。
はい [true] - コンポーネントの処理をトランザクションに含めます。
いいえ [false] - コンポーネントの処理をトランザクションに含めません。
SQLパラメーターを使用するboolean- $,? を使用したいときにこのプロパティを「いいえ」にするとSQLパラメーター置換処理をせずコンポーネントを実行できます。 また、この場合はSQLパラメーターが設定されていても無視されるので注意してください。
ストアド実行(結果あり)の場合、「? = call procedulre_name( )」等記述してある場合動作しなくなります。
はい [true] - SQL文のSQLパラメーター書式の文字を置換します。
いいえ [false] - SQL文のSQLパラメーター書式の文字を置換をしません。
SQLパラメーターcategoryIn & Out パラメーター名、入出力種別、データ型、値のセットで定義します。
値は、前に連結したマッパーからマッピングすることが可能です。また、入出力種別で出力するパラメーターは直後に連結したマッパーから参照することもできます。詳細については、下記トピック「SQLパラメーターの使い方」を参照してください。

ループ処理

出力ストリームがRecordで、かつループを開始が「はい」の場合、このコンポーネントがループの起点となって結果セットのレコードを1レコードずつ出力します。

エラー処理

タイプパラメータエラー処理フローへのストリームエラー
コード
説明
汎用 なし コンポーネント入力のストリーム なし コネクション名に指定したコネクションが見つからない場合
例外コードSQLまたはProcedureの実行に失敗した場合
例外コードSQL文がタイムアウトした場合
接続エラー なし コンポーネントの入力ストリーム なし NetSuiteとの接続に失敗した場合
レコードが無い なし コンポーネントの入力ストリーム なし 出力ストリーム型がRecordとなる場合かつレコードが無い場合エラーが「はい」で、結果セットが0行の場合

フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。

実行する処理ごとの動作

任意のSQLを実行

SELECT以外の任意のSQLを実行する場合に使用します。
SQL文にはInsert、Update、Deleteなど、サポートするあらゆるSQLを記述することができます。

SELECT文を発行

SELECT文を実行する場合に使用します。
SQL文には実行するSELECT文を記述します。 結果セットとフィールド定義の関係は、下記トピック「SQL文中のカラムと出力ストリームのフィールドの関係」を参照してください。

ストアド実行(結果なし)

結果セットを返さないストアドプロシージャを実行する場合に使用します。
SQLの書式はのように、実行するプロシージャを{ callと}で囲んで記述します。 この例ではPROC-NAMEがプロシージャ名、P1、P2がSQLパラメーター名です。

{ call PROC-NAME( ?P1?, ?P2?)}

ストアド実行(結果あり)

結果セットを返すストアドプロシージャを実行する場合に使用します。

結果セットとフィールド定義の関係は、下記トピック「SQL文中のカラムと出力ストリームのフィールドの関係」を参照してください。

SQL文中のカラムと出力ストリームのフィールドの関係

本コンポーネントの出力ストリームとしてレコードを取得するには、ストリームペインにフィールドを定義する必要がありますが、SQL文中の各カラムと出力ストリームのフィールドは順序によってマッピングされるため、カラム名とフィールド名は一致する必要はありません。

カラム数が出力ストリームで定義されたフィールド数と異なる場合や、カラムのデータ型が対応するフィールドのデータ型と異なる場合でも、順序によってマッピングされます。

SQLパラメーターの使い方

SQLパラメーターを使うと、実行時の動的な文字列を含むSQL文を実行することができます。SQL文に記述する際に、SQLパラメーターで定義した任意の名前のパラメーター名を含むSQL文を記述します。本コンポーネントの前にマッパーを配置し、定義したパラメーターにマッピングすることにより、実行時の動的な文字列を含むSQL文を実行することができます。

パラメーターには、以下の2つの書式があります。

SQLパラメーター書式

SQLパラメーター書式は、SQL文中のフィールド値となる箇所で使います。パラメーターの定義では、フィールドに対応したデータ型を指定します。SQL文で、置き換えたい文字列を使用する部分に「?パラメーター?」のようにパラメーター名を?で囲んで記述します。

置換文字列書式

置換文字列書式は、SQL文中の任意の箇所で使います。パラメーターの定義では、データ型にStringを指定します。SQL文で、置き換えたい文字列を使用する部分に「$パラメーター名$」のようにパラメーター名を$で囲んで記述します。

●SQLパラメーターを使ってSQL文を記述する

以下の手順で記述します。

  1. 本コンポーネントをクリックするとインスペクタに表示されるSQLパラメータータブで、任意の名前、入出力種別、データ型、初期値を入力します。
  2. SQL文に、置き換えたい文字列を使用する部分によって「?パラメーター名?」または「$パラメーター名$」のようにフィールド名を?または$で囲んで記述します。
  3. 本コンポーネントの前にマッパーを配置します。
  4. マッピングウィンドウの出力側にあるSQLパラメーターのフィールド名に置換文字列となるフィールドをマッピングします。

入出力種別について

実行する処理が「任意のSQLを実行」または「SELECT文を発行」の場合、入出力種別はすべて「入力」を指定します。ストアド実行(結果なし)」または「ストアド実行(結果あり)」の場合は、ストアドプロシージャの入出力タイプに応じて指定します。

●パラメーターを編集する

SQLパラメータータブで、フィールドを右クリックして表示されるメニューから「上に移動」「下に移動」「挿入」「削除」を操作します。

CSV形式で編集する

パラメーターフィールドリストをCSV形式で表現した一覧を、いつも使用しているエディタで編集することができます。パラメーターフィールドリストのCSV形式は、各項目の文字列をカンマ(,)区切りで表現しています。以下に、例と項目の説明を示します。

para1,in,VARCHAR,TEST
para2,in/out,VARCHAR,SAMPLE
項目名内容
パラメーター名パラメーター名。
入出力入力の場合、in。
入出力の場合、in/out。
出力の場合、out。
データ型データ型。
値。指定しなかった場合は空文字になります。

フローデザイナーのテキストエディタが表示されます。いつも使用しているエディタで編集するには、テキストエディタ画面上部にある「外部エディタ」ボタンをクリックします。関連付けられたエディタが起動されます。

●注意事項

●NetSuite コネクション設定

アカウントId[AccountId]

このフィールドは、User およびPassword とともに、NetSuite に対する認証に使用されます。

Aggregate Column Mode[AggregateColumnMode]

集計カラムは、子コレクション内に含まれるすべてのデータを集計する基本テーブルに表示されるカラムです。 これらのカラムには子コレクションのすべてのデータが含まれているため、非常に大きくなる可能性があります。 オフラインデータベースへのデータの書き込みなど、状況によってはAggregateColumnMode をIgnore またはList に設定することをお勧めします。 子テーブル内のデータは、IncludeChildTables をtrue に設定することで取得できます。 AggregateColumnMode をList に設定した場合でも、挿入および更新で使用するための集計カラムはリストされます。

Ignoreすべての集計は無視され、利用可能なカラムとしてテーブル定義に表示されません。
List集計カラムはすべてのテーブルに表示されますが、SalesOrders などの基本テーブルではNetSuite からデータを取得しません。
ListAndRetrieve集計カラムがすべてのテーブルでリストされ、リクエストされます。


Default Value: Ignore
Possible Values:
Ignore0
List1
ListAndRetrieve2
Application Id[ApplicationId]

NetSuite UI の[セットアップ]->[統合]->[統合の管理]で、アプリケーションを見つけることができます。 NetSuite との接続を確立する際に、利用可能な最大セッション数を確保するために、常に独自のアプリケーションを作成することをお勧めします。

Auth Key[AuthKey]

このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。

GetOAuthAccessToken ストアドプロシージャでAuthToken とともに指定して、OAuthAccessToken を取得できます。

認証スキーム[AuthScheme]

  • Auto:設定したOther 接続プロパティに基づいてドライバーが自動的に決定。
  • Basic:BASIC ユーザー / パスワード認証を使用する場合に設定。
  • OAuth:OAuth 認証を実行する場合に設定。これは基本的にトークンベース認証であり、NetSuite UI で直接ではなく、その場でトークンが作成されます。
  • Token:トークンベースの認証を実行する場合に設定。


Default Value: Auto
Possible Values:
Auto0
Basic1
OAuth2
Token3
Auth Token[AuthToken]

このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。

GetOAuthAccessToken ストアドプロシージャでAuthKey とともに指定して、OAuthAccessToken を取得できます。

Auto Cache[AutoCache]

AutoCache がtrue に設定されていると、本製品 はテーブルデータのキャッシュを選択したデータベースに自動的に保存します。デフォルトでは、本製品 はキャッシュをインクリメンタル更新します。前回の実行からの時間がCacheTolerance を超えた場合は、最後のSELECT クエリが実行された後の変更のみを取得します。キャッシュが更新された後、キャッシュデータに対してクエリが実行されます。

キャッシュデータベースの設定

AutoCache がtrue の場合、本製品 はシンプルなファイルベースストアにキャッシュします。次のプロパティを使って、場所またはキャッシュを別のデータベースに構成できます。

関連項目

  • CacheTolerance:このプロパティはキャッシュ内の失効データに対する許容範囲を制御します。
  • CacheMetadata:このプロパティは、NetSuite メタデータから取得したテーブルスキーマを永続化することによって、ネットワークを横断するメタデータの量を減らします。メタデータは、すべての接続で取得する必要はなく、一度取得するだけです。
  • REPLICATE ステートメントAutoCache をtrue にしてSELECT ステートメントを実行すると、本製品 は内部的にREPLICATE ステートメントを呼び出します。REPLICATE ステートメントは、最初にキャッシュされたテーブルを削除するのではなく、インクリメンタル更新を有効にします。
  • 明示的なデータのキャッシュ:このセクションでは、AutoCacheOffline で使用する例をさらに示します。
  • CACHE ステートメント:CACHE ステートメントを使って、SELECT クエリを永続化し、キャッシュを管理(例えば、スキーマのリフレッシュ)ができます。


Default Value: false
Browsable Schemas[BrowsableSchemas]

スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。

Cache Connection[CacheConnection]

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティに基づいて決定されます。キャッシュデータベースを使用するには、両方のプロパティが必須です。以下に、一般的なキャッシュデータベースの設定例を示します。キャッシュデータベースのドライバーの設定方法についての詳細は、CacheDriver を参照してください。

CacheConnection プロパティで指定された接続文字列は、基底のCacheDriver に直接渡されます。使用可能なプロパティについての詳細は、JDBC driver 固有のドキュメントを参照してください。アプリケーションのクラスパスにJDBC driver を含めてください。

Derby およびJava DB

本製品 はDerby へのキャッシュを簡略化します。CacheLocation プロパティを設定するだけで基本的な接続を確立できます。

あるいは、CacheDriverCacheConnection を使用してDerby への接続を手動で設定することもできます。次はDerby JDBC URL シンタックスです。

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
例えば、インメモリデータベースにキャッシュするには、次を使用します。
jdbc:derby:memory

SQLite

SQLite へキャッシュするにはSQLite JDBC ドライバーを使用できます。次はJDBC URL の構文です。

jdbc:sqlite:dataSource
  • Data Source:SQLite データベースファイルへのパス。または、:memoryの値を使ってインメモリにキャッシュします。

MySQL

インストールにはCData JDBC Driver for MySQL が含まれています。次にJDBC URL の例を示します。

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
次は一般的な接続プロパティです。

  • Server:接続しようとするサーバーのIP アドレス、もしくはドメイン名。
  • Port:サーバーが起動しているポート名。
  • User:データベースへの認証のためのユーザー名。
  • Password:データベースへの認証のためのパスワード。
  • Database:データベース名。

SQL Server

Microsoft JDBC Driver for SQL Server のJDBC URL の構文は次のとおりです。

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
次に例を示します。
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
次は一般的なSQL Server 接続プロパティです。
  • Server:SQL Server を起動しているコンピューターのネットワークアドレス名。デフォルトインスタンスの代わりに名前付きインスタンスに接続する場合は、このプロパティを使ってホスト名およびインスタンスをバックスラッシュで区切って指定できます。
  • Port:SQL Server が起動しているポート。
  • Database:SQL Server データベース名。
  • Integrated Security:現在のWindows アカウントを認証に使用する場合は、このオプションをtrue に設定します。接続でUser とPassword を設定する場合は、このオプションをfalse に設定します。

    統合セキュリティを使用するには、Windows システムパス上のフォルダにsqljdbc_auth.dll も追加する必要があります。このファイルは、Microsoft JDBC Driver for SQL Server インストールのauth サブフォルダにあります。アセンブリのビット数はJVM のビット数と一致する必要があります。

  • User Id:SQL Server との認証に使われるユーザー名。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。
  • Password:SQL Server との認証に使われるパスワード。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。

Oracle

次はOracle JDBC Thin ドライバーの従来のJDBC URL シンタックスです。

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
次に例を示します。
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
次は一般的な接続プロパティです。
  • Data Source:Oracle データベースを識別する接続記述子。これは、TSN 接続記述子、接続記述子を決定するOracle Net Services 名、またはバージョン11g以降ではEasy Connect ネーミング(任意のポート名およびサービス名を持つOracle サーバーのホスト名)になります。

  • Password:Oracle データベースへの認証のためのパスワード。
  • User Id:Oracle データベースへの認証のためのユーザーId。

PostgreSQL

次は公式のPostgreSQL JDBC ドライバーのJDBC URL 構文です。

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
例えば、次の接続文字列はデフォルトホスト(localhost)およびポート(5432)上のデータベースに接続します。
jdbc:postgresql:postgres
一般的な接続プロパティは次のとおりです:
  • Host:PostgreSQL データベースをホストしているサーバーのアドレス。
  • Port:PostgreSQL データベースをホスティングしているサーバーに接続する際のポート。
  • Database:データベース名。
  • User name:PostgreSQL データベースの認証用に提供されたユーザーId。"user" パラメータを使ってJDBC URL に指定できます。
  • Password:PostgreSQL データベースへの認証のためのパスワード。

Cache Driver[CacheDriver]

CData JDBC drivers を含むJDBC ドライバーが用意されている任意のデータベースにキャッシュできます。

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティに基づいて決定されます。CacheDriver は、データのキャッシュに使用するJDBC ドライバークラスの名前です。

CacheDriver JAR ファイルをクラスパスに追加する必要があります。

次の例は、いくつかの主要なデータベースにキャッシュする方法を示しています。JDBC URL 構文および一般的な接続プロパティの詳細については、CacheConnection を参照してください。

Derby およびJava DB

本製品 はDerby 設定を簡略化します。Java DB は、Derby のOracle ディストリビューションです。JAR ファイルはJDK に同梱されています。JAR ファイル、derby.jar は、JDK インストールフォルダのdb サブフォルダに格納されています。ほどんどのキャッシュシナリオでは、derby.jar をクラスパスに追加した後、次のものだけを指定する必要があります。

jdbc:netsuite:CacheLocation='c:/Temp/cachedir';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
Derby JDBC URL をカスタマイズするには、CacheDriver およびCacheConnection を使用します。例えば、インメモリデータベースにキャッシュするには、次のようにJDBC URL を使用します。
jdbc:netsuite:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';Account Id=XABC123456;Password=password;User=user;Role Id=12345;

SQLite

次はSQLite JDBC ドライバーのJDBC URL です。

jdbc:netsuite:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';Account Id=XABC123456;Password=password;User=user;Role Id=12345;

MySQL

次はCData JDBC Driver for MySQL のJDBC URL です。

  jdbc:netsuite:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
  

SQL Server

次のJDBC URL はMicrosoft JDBC Driver for SQL Server を使用しています。

jdbc:netsuite:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';Account Id=XABC123456;Password=password;User=user;Role Id=12345;

Oracle

次はOracle Thin Client のJDBC URL です。

jdbc:netsuite:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';Account Id=XABC123456;Password=password;User=user;Role Id=12345;
NOTE:9i より前のバージョンのOracle を使用している場合は、キャッシュドライバーは代わりにoracle.jdbc.driver.OracleDriver になります。

PostgreSQL

次のJDBC URL は公式のPostgreSQL JDBC ドライバーを使用しています。

jdbc:netsuite:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';Account Id=XABC123456;Password=password;User=user;Role Id=12345;

Cache Location[CacheLocation]

CacheLocation は単純なファイルベースキャッシュです。本製品 はJava DB、Oracle のDerby データベースのディストリビューションを使用しています。Java DB にキャッシュするには、Java DB JAR ファイルをクラスパスに追加する必要があります。JAR ファイル、derby.jar はJDK に同梱され、JDK インストールの[db]サブフォルダに配置されています。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\NetSuite Data Provider" となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config

関連項目

  • AutoCache:後のオフライン使用のために、暗黙的にキャッシュを作成して維持するように設定します。
  • CacheMetadata:NetSuite カタログをCacheLocation に永続化するように設定します。


Default Value: %APPDATA%\\CData\\NetSuite Data Provider
Cache Metadata[CacheMetadata]

このプロパティを設定してクエリを実行すると、NetSuite カタログのテーブルメタデータが設定されている場合にはCacheLocation で指定されたファイルストアに、設定されていない場合にはホームディレクトリにキャッシュされます。テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。

CacheMetadata を使用するタイミング

本製品 は、はじめてテーブルやビューを発見したときから2時間の間、メタデータをインメモリに自動的に保管します。そのため、CacheMetadata は一般的には必要ありません。CacheMetadata は、大量のメタデータを扱う場合でメタデータオペレーションのコストが高い場合や、短い接続を大量に行う場合などに役立ちます。

CacheMetadata を使用しないタイミング

  • 変化しやすいメタデータを扱う場合:テーブルのメタデータは、はじめにテーブルへの接続がなされた時に一度しか取得されません。それ以降の、新規、変更、削除されたカラムを取得するには、メタデータキャッシュを削除してリビルドする必要があります。よって、メタデータが頻繁に変更される場合には、インメモリキャッシュを使う方が便利です。
  • データベースにキャッシュする場合CacheMetadataCacheLocation でのみ使用可能です。CacheDriver およびCacheConnection プロパティで他のデータベースへのキャッシュが可能です。黙示的なキャッシュにはAutoCache を使ってください。もしくは、REPLICATE ステートメント または CACHE ステートメント で明示的なキャッシュが可能です。


Default Value: false
Cache Tolerance[CacheTolerance]

キャッシュ内の失効データに対する許容範囲の秒数。これは、AutoCache が使用されている場合のみ有効です。本製品 は、許容インターバルが過ぎると、新しいレコードがないかデータソースをチェックしに行きます。それ以外は、キャッシュから直接データを返します。


Default Value: 600
コールバックUrl[CallbackURL]

認証プロセス中、OAuth 認証サーバーはユーザーをこのURL にリダイレクトします。この値をアプリケーションに指定したコールバックURL と同じ値に設定します。

Connection Life Time[ConnectionLifeTime]

接続の最大有効期間(秒単位)。その時間が経過すると、接続オブジェクトは削除されます。デフォルトは0で、接続の有効期間に制限がないことを示します。


Default Value: 0
Connect On Open[ConnectOnOpen]

true に設定すると、接続が開かれたときにNetSuite への接続が作成されます。このプロパティは、さまざまなデータベースツールで[接続のテスト]機能を利用できるようにします。

この機能はNOOP コマンドとして作用します。NetSuite に接続できることを確認するために使用され、この初期接続からは何も維持されません。

このプロパティをfalse に設定すると、パフォーマンスが向上する場合があります(接続が開かれる回数に依存します)。


Default Value: false
Custom Field Permissions[CustomFieldPermissions]

このプロパティはIncludeCustomFieldColumns に加えて、またはその代わりに設定できます。あるカスタムフィールドは許可して別のものは許可しない、というように認証にロールを使用したい場合は、このプロパティを使ってどのカスタムフィールドのメタデータがCData JDBC Driver for NetSuite 2021J からリクエストされるのか、指定することができます。 このプロパティが空のままの場合、IncludeCustomFieldColumns が、すべてのカスタムフィールドのメタデータがリクエストされているのか、カスタムフィールドのメタデータは全くリクエストされていないのかを決定します。 空でなければ、このプロパティはIncludeCustomFieldColumns の動作をオーバーライドします。

例えば、すべてのカスタムフィールドの許可をすべての利用可能なテーブルに指定するには、このプロパティを以下のように設定します。

Custom Body Fields, Custom Column Fields, Custom Entity Fields, Custom Event Fields, Custom Item Fields, Item Number Fields, Other Custom Fields

Firewall Password[FirewallPassword]

このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。

Firewall Port[FirewallPort]

ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。


Default Value: 0
Firewall Server[FirewallServer]

ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。

本製品 はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。

Firewall Type[FirewallType]

このプロパティは、本製品 がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、本製品 はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。

タイプ デフォルトポート 説明
TUNNEL 80 これが設定されている場合、本製品 はNetSuite への接続を開き、プロキシを経由して通信が行われます。
SOCKS4 1080 これが設定されている場合、本製品 はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 これが設定されている場合、本製品 はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthSchemeProxyUser、およびProxyPassword を使ってください。


Default Value: NONE
Possible Values:
NONE0
TUNNEL1
SOCKS42
SOCKS53
Firewall User[FirewallUser]

FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。

Include Child Tables[IncludeChildTables]

これをtrue に設定すると、指定したエンティティのすべての子リストに対してテーブルが表示されます。 例えば、NetSuite 開発環境のCashRefund テーブルにはItemList という子リストがあります。したがって、このプロパティがtrue に設定されている場合、CashRefund_ItemList という新しいテーブルが表示されます。 これは、リスト内の各アイテムをそれ自体の行にリストするのに便利です。


Default Value: false
Include Custom Field Columns[IncludeCustomFieldColumns]

これをtrue に設定すると、カスタムフィールドが独自のカラムとして直接テーブルに表示されます。ただし、オープン接続で初めてテーブルのメタデータ情報を取得する場合、パフォーマンスは低下します。 テーブルのメタデータは接続時に格納され、接続が閉じられるとクリアされます。


Default Value: true
Include Custom List Tables[IncludeCustomListTables]

これをtrue に設定すると、カスタムリストタイプが独自のテーブルとして含まれます。ただし、オープン接続で初めてテーブルのメタデータ情報を取得する場合、パフォーマンスは低下します。 テーブルのメタデータは接続時に格納され、接続が閉じられるとクリアされます。


Default Value: false
Include Custom Record Tables[IncludeCustomRecordTables]

これをtrue に設定すると、カスタムレコードタイプが独自のテーブルとして含まれます。ただし、オープン接続で初めてテーブルのメタデータ情報を取得する場合、パフォーマンスは低下します。 テーブルのメタデータは接続時に格納され、接続が閉じられるとクリアされます。


Default Value: true
Include Reference Columns[IncludeReferenceColumns]

NetSuite の多くのフィールドは、他のタイプのレコードへの参照です。例えば、Invoice はAccount およびCustomer レコードを参照します。 レコード参照フィールドからデータを取得するときに、NetSuite から返されるデータがいくつかあります。 利用可能な値は次のとおりです。

InternalIdレコード参照のNetSuite 外部キー。
Name参照されるレコードの読み込み可能な名前。
Type参照されるレコードのタイプ。指定されたフィールドは1つの型しか持たないので、常に値が与えられるわけではありません。


Default Value: InternalId, Name
イニシエートOAuth[InitiateOAuth]

次のオプションが利用可能です。

  1. OFF:OAuth フローが完全にユーザーにより操作されることを示します。認証にはOAuth アクセストークンが必要です。
  2. GETANDREFRESH:OAuth フローが完全に本製品 により操作されることを示します。現在トークンが存在しない場合にはブラウザを通じてユーザーをプロンプトすることで取得されます。トークンが存在する場合には必要に応じてリフレッシュされます。
  3. REFRESH:本製品 がOAuthAccessToken のリフレッシュのみを操作することを示します。ユーザーは本製品 によりブラウザを通じて認証することをプロンプトされることはありません。OAuthAccessToken とOAuthRefreshToken の最初の取得はユーザーが行う必要があります。


Default Value: OFF
Possible Values:
OFF0
GETANDREFRESH1
REFRESH2
Location[Location]

本製品 のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

Note: この本製品 は複数のスキーマをサポートするため、NetSuite カスタムスキーマファイルの構造は以下のようになります。

  • 各スキーマには、そのスキーマ名に対応するフォルダが作られます。
  • これらのスキーマフォルダは親フォルダに含まれています。
  • 親フォルダは、個々のスキーマのフォルダではなく、Location として設定する必要があります。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\NetSuite Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\NetSuite Data Provider\\Schema
Logfile[Logfile]

このプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、本製品 がログファイルを生成します。指定したファイルが存在しない場合は作成されます。

接続文字列およびバージョン情報も記録されますが、機密情報を含む接続プロパティは自動的にマスクされます。

相対ファイルパスが指定された場合、ログファイルの場所は、Location 接続プロパティにあるパスに基づいて解決されます。

ログファイルに記録される内容をより細かく制御するには、Verbosity プロパティを調整してください。

ログ内容はいくつかのモジュールに分類されます。LogModules プロパティを使うことで、個々のモジュールを表示または非表示にすることができます。

新しいログファイルの作成前にログファイル1つの最大サイズを変更する方法については、MaxLogFileSize を参照してください。

生成されるログファイル数に上限を設定したい場合は、MaxLogFileCount を使用してください。

Java のログ出力

Java のログ出力もサポートされています。Java のログ出力を有効化するには、Logfile を次のように設定します:

Logfile=JAVALOG://myloggername

上記の例のように、JAVALOG:// がJava のログを使用するための必須プレフィックスで、独自のロガーで代用することになります。

次に、指定されたロガーのgetLogger メソッドが呼び出され、指定された値を使用してLogger インスタンスが作成されます。ログのインスタンスがすでに存在する場合は、既存のインスタンスを参照します。

Java のログ出力が有効になっている場合、Verbosity は特定のログレベルに対応します。

Log Modules[LogModules]

指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。

概要はログ ページを参照してください。

Maximum Concurrent Sessions[MaximumConcurrentSessions]

バージョン2020.1 では、この値はAccountId およびApplicationId に基づいて自動的に取得されます。 NetSuite 2020.1 時点での同時接続セッションは、トークンベース認証でのみ可能です。 ユーザー/パスワードは常に利用可能な単一のセッションのみを解決します。

NetSuite では、一般的に最大5つの同時接続セッションを許可していますが、それ以上のレベルを購入することもできます。 接続に使用されているアカウントまたは統合アプリの同時セッション制限を超える追加のリクエストを行うと、エラーが発生します。 CData JDBC Driver for NetSuite 2021J はすでに多くの同時リクエストが行われている場合、エラーを受け取る追加リクエストを保留することで、これを自動的に考慮しようとします。

アカウントの利用可能額が多い場合、同時利用可能なセッションの最大数を設定することができます。


Default Value: 0
Max Log File Count[MaxLogFileCount]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成され、最も古いログファイルが削除されます。

サポートされている最小値は2です。0や負の値は、数に制限がないことを示します。

生成されるログファイルの最大サイズは、MaxLogFileSize で調整できます。


Default Value: -1
Max Log File Size[MaxLogFileSize]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成されます。リミットのデフォルトは100 MB です。100 kB より小さい値を設定した場合、100 kB がリミットとなります。

生成されるログファイルの最大数は、MaxLogFileCount で調整できます。


Default Value: 100MB
Max Rows[MaxRows]

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。


Default Value: -1
Netsuite Date Format[NetsuiteDateFormat]

The preffered date format set in NetSuite UI. This format should be used when filtering based on Date. You can change the date format in NetSuite UI using Home -> Set Preferences -> Formatting.

Available values are: 'M/D/YYYY', 'D/M/YYYY', 'D.M.YYYY', 'D-MONTH-YYYY', 'D MONTH, YYYY', 'YYYY/M/D', 'YYYY-M-D', 'DD/MM/YYYY', 'DD-MON-YYYY', 'DD.MM.YYYY', 'DD-MONTH-YYYY', 'DD MONTH, YYYY', 'MM/DD/YYYY', 'YYYY/MM/DD', 'YYYY-MM-DD'.

Note:This property is only applicable for SuiteQL Schema. If the two formats are mismatched, the server thows an exception.


Default Value: MM-dd-yyyy
Netsuite Long Date Format[NetsuiteLongDateFormat]

The preffered long date format set in NetSuite UI. This format should be used when filtering based on long date. You can change the long date format in NetSuite UI using Home -> Set Preferences -> Formatting

Available values are: 'Month D, YYYY', 'D Month YYYY', 'YYYY Month D', 'Month DD, YYYY', 'DD Month YYYY', 'YYYY Month DD'.

Note:This property is only applicable for SuiteQL Schema. If the two formats are mismatched, the server thows an exception.


Default Value: MMM dd, yyyy
Netsuite Metadata Folder[NetsuiteMetadataFolder]

不必要なオーバーヘッドを避けるために、本製品 はNetSuite API から多くのメタデータファイルをダウンロードします。 NetsuiteMetadataFolder が指定されていない場合は、Location が使用されます。最高のパフォーマンスを 得るには、常にNetSuiteMetadata の値を設定します。このディレクトリが空の場合、本製品 はNetsuite から スキーマファイルをダウンロードし、それらを後続のメタデータクエリに使用します。これらのメタデータファイルのファイル 拡張子はxsd です。このメタデータには、Netsuite Version 固有の静的に定義されたテーブルとビューのみが 含まれています。カスタムフィールドとテーブルは、このメタデータには含まれません。 本製品 は、接続するNetsuite のバージョンごとに異なるサブフォルダを作成します。

OAuthアクセストークン[OAuthAccessToken]

OAuth を使用して接続するには、OAuthAccessToken プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessToken が取得されます。このプロパティは、サーバーに依存するタイムアウトがあり、要求の間で再利用することができます。

アクセストークンは、ユーザー名とパスワードの代わりに使用されます。サーバー上で維持することで、認証情報が保護されます。

OAuthアクセストークンシークレット[OAuthAccessTokenSecret]

OAuth を使用して接続および認証するには、OAuthAccessTokenSecret プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessTokenSecret が取得されます。取得されたトークンシークレットは OAuthAccessToken と一緒に使用され、タイムアウトするまで複数の要求のために使用されます。

OAuthクライアントID[OAuthClientId]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。

OAuthクライアントシークレット[OAuthClientSecret]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。

OAuth Expires In[OAuthExpiresIn]

OAuthTokenTimestamp と併用して、アクセストークンの有効期限を決定します。

OAuth Refresh Token[OAuthRefreshToken]

OAuthRefreshToken プロパティは、OAuth 認証時にOAuthAccessToken のリフレッシュに使われます。

OAuth設定場所[OAuthSettingsLocation]

InitiateOAuth がGETANDREFRESH またはREFRESH に設定されている場合、本製品 がOAuth 値を保存するため、ユーザーが手動でOAuth 接続プロパティを入力する必要がなくなり、接続やプロセス間でクレデンシャルを共有できるようになります。

ファイルパスを指定する代わりに、メモリストレージを使用することもできます。メモリの場所は、'memory://' で始まる値とそのクレデンシャルのセット(例:memory://user1)の一意の識別子を使用して指定します。識別子は何でも構いませんが、ユーザーに固有のものでなければなりません。ファイルベースのストレージとは異なり、プロセスが再開されたときに接続を設定できるように、メモリストレージとの接続を閉じるときは手動でクレデンシャルを格納する必要があります。OAuth プロパティ値は、sys_connection_props システムテーブルへのクエリで取得できます。複数の接続で同じクレデンシャルを使用している場合は、プロパティは最後に閉じられる接続から読み取られます。

指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\NetSuite Data Provider\\OAuthSettings.txt" となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\NetSuite Data Provider\\OAuthSettings.txt
OAuth Token Timestamp[OAuthTokenTimestamp]

OAuthExpiresIn と併用して、アクセストークンの有効期限を決定します。

OAuth Verifier[OAuthVerifier]

OAuth 認可URL から返された検証コード。これは、ヘッドレスシステムのようにブラウザを起動できないシステム上で使用できます。

ヘッドレスマシンでの認証

OAuthVerifier 値を取得するには、 を参照してください。

OAuthVerifier に加えてOAuthSettingsLocation を設定します。接続すると、本製品 はOAuth 認証トークンのOAuthVerifier を交換し、暗号化して、指定されたファイルに保存します。 交換を自動化するには、InitiateOAuth をGETANDREFRESH に設定します。

OAuth 設定ファイルが生成されたら、接続プロパティからOAuthVerifier を削除して OAuthSettingsLocation セットで接続できます。

OAuth トークン値を自動的にリフレッシュするには、 OAuthSettingsLocation を設定し、さらにInitiateOAuth をREFRESH に設定します。

OAuth Version[OAuthVersion]

使われているOAuth のバージョン。次のオプションが利用可能です:1.0,2.0


Possible Values:
1.00
2.01
Offline[Offline]

Offline がtrue に設定されている場合、すべてのクエリは、ライブデータソースではなくキャッシュに対して実行されます。このモードでは、INSERT、UPDATE、DELETE、CACHE などのクエリは許可されません。


Default Value: false
Other[Other]

以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。

複数のプロパティをセミコロン区切りリストで指定します。

キャッシュの設定

CachePartial=Trueクエリで指定可能な一部のカラムのみをキャッシュします。
QueryPassthrough=True本製品 のSQL パーサーを使用する代わりに、指定のクエリをキャッシュデータベースに渡します。

統合およびフォーマット

DefaultColumnSizeデータソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。
ConvertDateTimeToGMT日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。
RecordToFile=filename基底のソケットデータ転送を指定のファイルに記録します。

Pagesize[Pagesize]

ページサイズは、NetSuite からリクエストされたクエリの結果数をコントロールできます。 より大きなページサイズを設定することにより、一定のリクエストで返せるデータ量を増やすことができますが、実行にはより長い時間がかかります。 タイムアウト例外を発生させないためには、より小さなページサイズを設定することが推奨されます。

パスワード[Password]

このフィールドは、User およびAccountId とともに、NetSuite に対する認証に使用されます。

Pool Idle Timeout[PoolIdleTimeout]

接続が閉じられるまで、プール内に残ることができる許容されたアイドル時間。デフォルトは60秒です。


Default Value: 60
Pool Max Size[PoolMaxSize]

プールの最大接続数。デフォルトは100です。このプロパティを無効にするには、プロパティ値を0以下に設定します。


Default Value: 100
Pool Min Size[PoolMinSize]

プール内の最小接続数。デフォルトは1です。


Default Value: 1
Pool Wait Time[PoolWaitTime]

接続が利用可能になるまで待機する最大秒数。新しい接続のリクエストが使用可能な接続を待ちこの時間を超過すると、エラーが返されます。デフォルトでは、新規リクエストは使用可能な接続を永久に待機します。


Default Value: 60
Proxy Auth Scheme[ProxyAuthScheme]

この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。

本製品 は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

認証タイプは、次のどれかになります。

  • BASIC: 本製品 はHTTP BASIC 認証を行います。
  • DIGEST: 本製品 はHTTP DIGEST 認証を行います。
  • NEGOTIATE: 本製品 は認証において有効なプロトコルに応じて、NTLM もしくはKereros トークンを取得します。
  • PROPRIETARY: 本製品 はNTLM もしくはKerberos トークンを発行しません。このトークンを、HTTP リクエストのAuthorization ヘッダーに含める必要があります。

SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。


Default Value: BASIC
Possible Values:
BASIC0
DIGEST1
NONE2
NEGOTIATE3
NTLM4
PROPRIETARY5
Proxy Auto Detect[ProxyAutoDetect]

これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

NOTE:このプロパティがTrue に設定されている場合、使用されるプロキシは次のように決定されます。

  • JVM のプロパティ(http.proxy、https.proxy、socksProxy など)から検索が実行されます。
  • JVM のプロパティが存在しない場合は、java.home/lib/net.properties から検索が実行されます。
  • java.net.useSystemProxies がTrue に設定されている場合は、SystemProxy から検索が実行されます。
  • Windows の場合のみ、レジストリインターネットオプションからこれらのプロパティを取得しようとします。

HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。


Default Value: false
Proxy Exceptions[ProxyExceptions]

ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。

本製品 は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

Proxy Password[ProxyPassword]

このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。

HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。

NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。

SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。

デフォルトで、本製品 はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。

Proxy Port[ProxyPort]

HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。


Default Value: 80
Proxy Server[ProxyServer]

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、本製品 はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。

SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。

デフォルトで、本製品 はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。

Proxy SSL Type[ProxySSLType]

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。

AUTOデフォルト設定。URL がHTTPS URL の場合、本製品 は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。
ALWAYS接続は、常にSSL 有効となります。
NEVER接続は、SSL 有効になりません。
TUNNEL接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。


Default Value: AUTO
Possible Values:
AUTO0
ALWAYS1
NEVER2
TUNNEL3
Proxy User[ProxyUser]

ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。

ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。

user@domain
domain\user

Pseudo Columns[PseudoColumns]

Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。

Readonly[Readonly]

このプロパティがtrue に設定されている場合、本製品 はSELECT クエリのみ許可します。INSERT、UPDATE、DELETE、およびストアドプロシージャクエリではエラーが返されます。


Default Value: false
Report Doubles As Decimal[ReportDoublesAsDecimal]

NetSuite API 内では、すべてのカラムがdouble としてレポートされます。ただし、この設定は集計クエリ内で使われると丸め処理に問題が発生する可能性があります。 金額に関するカラムが使用される場合、通常はdecimal としてレポート、格納されることが想定されています。 NetSuite API がこれらのカラムを扱う方法は変更できませんが、ツール内でdecimal として表現することで、集計のような式内で使用する際に、上の問題を回避できます。 既存の実装との後方互換性を保つには、このプロパティをfalse に設定してください。


Default Value: true
Request Memorized Transactions[RequestMemorizedTransactions]

NetSuite で記憶されたトランザクションは、後から再び使用する可能性があるために記憶されたトランザクションです。 定期的に繰り返すように設定することも、ユーザーへのリマインダーにすることもできます。


Default Value: false
Role Id[RoleId]

このフィールドは、UserPassword、およびAccountId とともに、NetSuite に対する認証に使用されます。 RoleId を指定しない場合は、ユーザーのデフォルトロールが使用されます。それ以外の場合は、NetSuite にログインして[セットアップ]->[統合]->[Web サービスのプリファレンス]ページに移動してRoleId を取得することができます。ここでは、指定されたロールの横に表示されているId を取得するのと同様に、別の[Web サービスデフォルトロール]を選択できます。

Row Scan Depth[RowScanDepth]

This property applies only to the SuiteQL schema. SuiteQL has no metadata service available outside of custom records and custom fields. Standard tables and fields must be hardcoded in some fashion. However, this comes with a downside in that NetSuite will throw exceptions when columns and tables that are not available based on your user permissions or NetSuite company settings are attempted to be selected.

In order to try and ensure at least that the columns displayed are available to you in your connection, a RowScan can be performed during column listing. This will ensure that any columns that are displayed for a given table are actually available based on your user credentials. Note that NetSuite does not return columns that are null. Therefore, this method may result in tables that do not have complete column information. Please be aware that SuiteQL has a maximum pagesize of 1000. Setting this value higher than 1000 will result in multiple page requests. Setting RowScanDepth to 0 will result in no rows being scanned (all available columns will be listed regardless). RowScanDepth may not be set higher than 100000.


Default Value: 1000
RTK[RTK]

RTK プロパティは、ビルドにライセンスを供与するために使用されます。 このプロパティの設定方法については、付属のライセンスファイルを参照してください。このランタイムキーは、OEM ライセンスを購入した場合にのみ使用できます。

スキーマ[Schema]

利用可能なスキーマは、SuiteTalk(SuiteTalk SOAP API とSuiteScript を使う場合)およびSuiteQL(SuiteQL 経由でREST API を使う場合)です。


Default Value: SuiteTalk
Possible Values:
SuiteTalk0
SuiteQL1
Scope[Scope]

OAuth 2.0を使用する際には(Schema がSuiteQL に設定されている場合のみ利用可能)、NetSuite がトークンを取得するためにスコープの指定が必要となります。埋め込みトークンを使用する場合、 適切なスコープが自動で使用されます。その他の場合、スコープは指定されたOAuthClientId の設定済みスコープに 正確に合致する必要があり、合致しない場合 NetSuite はエラーを返します。利用可能な値は次のとおりです。

  • restlets
  • rest_webservices
  • restlets rest_webservices

SSL Server Cert[SSLServerCert]

TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。

このプロパティは、次のフォームを取ります:

説明
フルPEM 証明書(例では省略されています) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
証明書を保有するローカルファイルへのパス。 C:\cert.cer
公開鍵(例では省略されています) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) ecadbdda5a1529c58a1e9e09828d70e4
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) 34a929226ae0819f2ec14b4a3d904f801cbb150d

これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。

証明書は、システムのトラストストアに基づいてマシンによって信頼されていると検証されています。使用されるトラストストアは、システムに指定された'javax.net.ssl.trustStore' 値になります。このプロパティに値が指定されていない場合は、Java のデフォルトのトラストストア(例えば、JAVA_HOME\lib\security\cacerts)が使用されます。

すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。

Support Enhanced SQL[SupportEnhancedSQL]

SupportEnhancedSQL がtrue に設定されている場合、本製品 はNetSuite にできるだけ多くのSELECT 構文処理をオフロードし、残りのクエリをインメモリで処理します。この方法で、本製品 はサポートされていない宣言、JOIN、および集計を実行することができます。

SupportEnhancedSQL がfalse に設定されている場合、本製品 はSQL 実行をNetSuite API でサポートされている範囲に制限します。

宣言の実行

本製品 は、どの句がデータソースでサポートされているかを決定し、クエリを充足する最小セットの行を取得するためにソースにクエリを送信します。そして、残りの行をローカルでフィルタリングします。フィルタリング処理がストリームされている場合、本製品 は大きなデータセットに対しても効率よいフィルタリングが可能です。

JOIN 実行

本製品 は、インメモリでのJOIN でさまざまな技術を使用します。本製品 は、メモリ使用量と同じテーブルを複数回読む要求をトレードオフします。

集計の実行

本製品 は、インメモリで集計を処理するために必要なすべての行を取得します。


Default Value: true
Tables[Tables]

テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、本製品 のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

タイムアウト(秒)[Timeout]

Timeout プロパティが0に設定されている場合は、操作がタイムアウトしません。処理が正しく完了するか、エラー状態になるまで実行されます。 Timeout の有効期限が切れても処理が完了していない場合は、本製品 は例外をスローします。

NetSuite では、子テーブルからデータを取得する場合や、AggregateColumnMode がListAndRetrieve に設定されている特定のテーブルからデータを取得する場合に、オペレーションが戻るのに非常に長い時間がかかることがあります。 例えば、AggregateColumnMode がListAndRetrieve に設定されている場合、NetSuite から単一のリクエストで1000 SalesOrders を取得するのに10分以上かかるのは前例のないことではありません。 残念ながら、これはNetSuite Web サービスの制限であり、既知の解決策はありません。集計カラムや子テーブルで作業する必要がある場合は、Timeout を0に設定して、Pagesize の値を小さくし、すべてのカラムではなく特定のカラムを選択します。


Default Value: 300
Use Async Services[UseAsyncServices]

NetSuite の応答は、特に一度に多数のレコードを挿入、更新、または削除する場合に、かなり遅くなる可能性があります。 このような状況では、非同期サービスを使用してデータを送信することをお勧めします。非同期サービスは、アプリケーションの実行中にNetSuite がデータを処理できるようにします。 非同期サービスを使用することの欠点は、NetSuite のJob をチェックして、NetSuite がリクエストの処理を完了したかどうか、問題がないかどうかを確認する必要があることです。


Default Value: false
Use Connection Pooling[UseConnectionPooling]

このプロパティは、コネクションプーリングを有効にします。デフォルトはfalse です。 コネクションプールの使用に関する詳細は、 接続プール を参照してください。


Default Value: false
Use Internal Names For Customizations[UseInternalNamesForCustomizations]

通常、カスタマイズ用のLabel はカスタムレコードのテーブルやカスタムフィールドのカラムを閲覧する際に表示されます。 これはNetSuite UI と同じ表示にすることで、操作を簡単にするための設定です。しかし、厳密には同じ設定が保持される保証はありません。 NetSuite 内からラベルを変更すると、カスタムフィールドやカスタムレコードの名前が、CData のツールでも変更されます。 UseInternalNamesForCustomizations をfalse に設定すると、代わりに内部API 名(これは変更することはできません)がこれらのテーブルやカスタムフィールドに表示されます。


Default Value: false
ユーザー[User]

このフィールドは、AccountId およびPassword とともに、NetSuite に対する認証に使用されます。

User Timezone Offset[UserTimezoneOffset]

NetSuite は、ユーザータイムゾーンプリファレンスに基づいて日付と時刻のオフセットを返します。これはDate とTime オブジェクトにのみ適用され、Datetime には適用されません。Datetime は個人のプリファレンスに関係なく常に同じ方法で返されます。 CData では、NetSuite UI の表示と同じになるように自動修正して日付を返します。 ただし、デイライトセービングにより24時間以上の時差があるタイムゾーンがあるため、これは100% 完璧ではありません。 ユーザープリファレンスが+13:00、+12:00、または-12:00 に設定されている場合は、この値を指定して日付を正しく表示させます。 その他のオフセットでは必須ではありませんが、最高の精度を得るため指定することをお勧めします。

Time の値を取得する場合、このプロパティは、ローカルマシンの時刻がログインユーザーのものと一致しない場合にのみ必要です。 確認するには、NetSuite UI にログインしてホームアイコンの上にマウスを置き[プリファレンス]を選択してください。ユーザーのタイムゾーンオフセットはそこで指定されます。 もし、CData JDBC Driver for NetSuite 2021J が実行されるローカルマシンが、ユーザーに設定されているタイムゾーンと同じタイムゾーンに一致しない状況にある場合は、UserTimezoneOffset をNetSuite のユーザー設定で指定されたものと一致するように設定してください。

Use Simple Names[UseSimpleNames]

NetSuite テーブルおよびカラムでは、 通常のデータベースでは使うことが認められていない特殊記号・文字を名前に使うことができます。UseSimpleNames を使用すると、本製品 を従来のデータベースツールでより簡単に使用できるようになります。

UseSimpleNames をtrue に設定し、返されるテーブル名およびカラム名をシンプルにします。表示されるテーブル名 およびカラム名においてアルファベット文字およびアンダースコアのみを有効とするネーミングスキームを強制します。 英数字以外の文字はすべて、アンダースコアに変換されます。


Default Value: false
Use Upserts[UseUpserts]

Upsert を使用すると、挿入時に既存のレコードを更新できます。NetSuite は、指定されたレコードのExternalId を使用してこれを処理します。 指定したExternalId がNetSuite に存在するときに挿入を実行すると、代わりに対応するレコードが更新されます。 それ以外の場合は、挿入が行われます。常に新しいレコードを挿入するには、この値をfalse に設定してください。


Default Value: false
Verbosity[Verbosity]

Verbosity レベルは、本製品 がLogfile にどの程度の詳細さで記載するかを決定します。1 から5 までのVerbosity レベルがサポートされています。より詳しい説明は、ログ ページに記載されています。


Default Value: 1
バージョン[Version]

ほとんどの場合、バージョンを変更する必要はありません。ただし、バージョンを変更する場合は、指定したバージョンがNetSuite API に存在することを事前に確認してください。 不正なバージョンが指定された場合、本製品 はNetSuite のテーブルを取得または更新できません。


Default Value: 2021_2
Views[Views]

ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、本製品 のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

Web Service Host[WebServiceHost]

これは、何らかの理由でホストが動的に解決できない場合のWeb サービスホストのオーバーライドです。 最終手段であり、通常は指定する必要はありません。

ほとんどの場合、Web サービスのホストはNetSuite のWeb サービスのリクエストを使用して動的に決定され、お客様のアカウント用の正しいWeb サービスホストを取得します。 これにより、新しい接続を作成して確立するたびに1つの追加リクエストが発生します。 この余分なリクエストを回避したい場合やサービスホストを解決できない場合は、代わりにそれをオーバーライドするWebServiceHost を設定することができます。

Web サービスホストは以下のフォーマットに従ってください。アカウントid 内の"_" はすべて"-" に置き換えてください。 アカウントid はすべて小文字で、[アカウントid].suitetalk.api.netsuite.com としてください。

Web サービスホストを取得するには、NetSuite に管理者としてログインして、[設定]->[会社]->[会社情報]に進んでください。 会社のURL のタブ以下のSuiteTalk にURL が表示されています。


その他詳細タブのオプション名と値は、以下URL の「接続文字列オプション」を参照ください。
こちら

●補足

SQLパラメーターの基本的な概念はNetSuiteGetコンポーネントで使用するSQLパラメーターと同じですが、以下の点が異なります。