D365FinOpSQLCall - SQLの実行

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

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

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

ストリーム情報

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

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

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

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

名前データ型マッピング説明
コネクション名connection- 接続先のDyanmics365を指定します。このバージョンのD365FinOpでは、コネクションはDynamics365となります。 コネクションペインまたは管理コンソールにて作成されたDynamics365コネクションを選択します。Editionプロパティが「FinOpsOnline」に設定されたものを選択してください。
実行する処理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 D365FinOpに対して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文がタイムアウトした場合
接続エラー なし コンポーネントの入力ストリーム なし Dynamics365との接続に失敗した場合
レコードが無い なし コンポーネントの入力ストリーム なし 出力ストリーム型が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。
データ型データ型。
値。指定しなかった場合は空文字になります。

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

●注意事項

●Dynamics365 コネクション設定

ADFS Server[ADFSServer]

Use only when Edition is set to FinOpsOnPremise. If no ADFS server name is specified, the property is ignored.

Allow Duplicate Records[AllowDuplicateRecords]

This property only applies when Edition is CustomerService, FieldService, Marketing, ProjectOperations or Sales.

For further information, see https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/manage-duplicate-detection-create-update.


Default Value: true
APIバージョン[ApiVersion]

サービスAPI は、データモデルの新機能にアクセスする手段を提供します。 ApiVersion を変更すると、ドライバーによって公開されるテーブルやカラムを定義するために使用されるサービスドキュメントが変更されます。


Default Value: 9.2
認証スキーム[AuthScheme]

  • AzureAD:Azure Active Directory(ユーザーベース)のOAuth 認証を実行します。
  • AzureMSI:Azure VM で実行している際に、Azure AD マネージドサービスID の資格情報を自動的に取得します。
  • AzureServicePrincipal:クライアントシークレットを使用してAzure サービスプリンシパル(ロールベース、アプリケーションベース)として認証します。
  • AzureServicePrincipalCert:証明書を使用してAzure サービスプリンシパル(ロールベース、アプリケーションベース)として認証します。

Azure AD で認証するためのカスタムアプリケーションの作成方法については、Entra ID アプリケーション(旧Azure AD)の作成 を参照してください。

Azure AD サービスプリンシパルで認証するためのカスタムアプリケーションの作成方法については、Microsoft Entra ID でのサービスプリンシパルアプリケーションの作成 を参照してください。


Default Value: AzureAD
Possible Values:
AzureAD0
AzureMSI1
AzureServicePrincipal2
AzureServicePrincipalCert3
Auto Cache[AutoCache]

この接続プロパティがTrue に設定されている場合、本製品 はSELECT クエリの対象となるテーブルの内容を自動的にキャッシュします。これらのテーブルの内容は、CacheConnection およびCacheDriver 接続プロパティで指定されたキャッシュデータベースにキャッシュされます。

関連項目

  • CacheMetadataCacheMetadata を有効にすると、取得されたすべてのメタデータはキャッシュデータベースにミラーリングされます。これは、本製品 が以降にメタデータを検出しようとする場合に、メタデータがキャッシュデータベースから直接読み取られMicrosoft Dynamics 365 にメタデータをリクエストする時間が不要になるため、より高速になることを意味します。
  • 明示的なデータのキャッシュ:このセクションでは、AutoCacheOffline モードで使用する例を示します。
  • CACHE ステートメント:CACHE ステートメントを使用して、SELECT クエリの対象となる任意のテーブルの内容を明示的にキャッシュできます。


Default Value: false
Azure Environment[AzureEnvironment]

Azure アカウントがGlobal ネットワークとは異なるネットワーク(China、USGOVT、USGOVTDOD など)の一部である場合は、必要です。


Default Value: GLOBAL
Possible Values:
GLOBAL0
CHINA1
USGOVT2
USGOVTDOD3
Azure Tenant[AzureTenant]

テナントとは、Microsoft Entra ID(旧称:Azure Active Directory)を通じて管理される、組織のユーザーやリソースのためのデジタルコンテナです。各テナントには一意のディレクトリID が関連付けられており、多くの場合、カスタムドメイン(例:microsoft.com やcontoso.onmicrosoft.com)も関連付けられています。

Microsoft Entra 管理センターで、Microsoft Entra ID -> プロパティに移動し、「ディレクトリ(テナント)ID」と表示されている値をコピーすることで、ディレクトリ(テナント)ID を確認できます。

このプロパティは以下の場合に必要です。

  • AuthSchemeAzureServicePrincipal またはAzureServicePrincipalCert に設定されている場合
  • AuthSchemeAzureAD で、ユーザーアカウントが複数のテナントに属している場合

テナントの値は、2つの形式のいずれかで指定できます。

  • ドメイン名(例:contoso.onmicrosoft.com)
  • GUID 形式のディレクトリ(テナント)ID(例:c9d7b8e4-1234-4f90-bc1a-2a28e0f9e9e0)

テナントを明示的に指定することで、認証リクエストが正しいディレクトリにルーティングされるようになります。これは、ユーザーが複数のテナントに所属している場合や、サービスプリンシパルベースの認証を使用する場合に特に重要です。

この値が必要な場面で省略されると、認証に失敗したり、誤ったテナントに接続されたりする可能性があります。その結果、認可されていないまたはリソースが見つからないといったエラーが発生する可能性があります。

Batch Size[BatchSize]

このプロパティは、バッチ操作中に送信される各バッチのサイズを制御します。 0より大きい値に設定すると、本製品 は全体の操作を指定された行数を含む小さなバッチに分割します。 これらの小さなバッチは個別にサーバーに送信されます。

このプロパティは、サーバーがリクエストのサイズに制限を課している場合に役立ちます。 操作を小さな単位に分割することで、これらの制限を回避してバッチ処理を成功させることができます。


Default Value: 1000
Browsable Schemas[BrowsableSchemas]

利用可能なデータベーススキーマをすべてリストすると余分な時間がかかり、パフォーマンスが低下します。 接続文字列にスキーマのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。

Cache Connection[CacheConnection]

対象のキャッシュデータベースは、この接続プロパティとCacheDriver 接続プロパティの組み合わせによって決定されます。指定されたキャッシュデータベースを使用するには、両方のプロパティが必要です。

この接続プロパティで指定された接続文字列は、CacheDriver 接続プロパティで指定されたJDBC ドライバーに直接渡されます。使用可能な接続プロパティの詳細については、指定されたJDBC ドライバー のドキュメントを参照してください。

CacheDriver で指定したJDBC ドライバーがアプリケーションのクラスパスに含まれていることを確認してください。

以下に、一般的なキャッシュデータベースの設定例を示します。

Derby およびJava DB

CacheDriver とこの接続プロパティを使用して、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:キャッシュ先のMySQL データベースをホストしているサーバーのIP アドレスまたはドメイン名。
  • Port:指定されたサーバー上のMySQL インスタンスが実行されているポート。
  • Database:キャッシュ先のMySQL データベースの名前。指定されたサーバーでホストされているMySQL データベースの名前と一致する必要があります。
  • User:選択したMySQL データベースに登録されているユーザーのユーザー名。
  • Password:指定されたMySQL ユーザーに紐付けられたパスワード。

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 データベースの名前。指定されたサーバーでホストされている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 サーバーのホスト名)になります。

  • User Id:選択したOracle データベースに登録されているユーザーのユーザー名。
  • Password:指定されたOracle ユーザーにに紐付けられたパスワード。

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:キャッシュ先のPostgreSQL データベースの名前。指定されたサーバーでホストされているPostgreSQL データベースの名前と一致する必要があります。
  • User name:選択したPostgreSQL データベースに登録されているユーザーのユーザー名。"user" パラメータを使ってJDBC URL に指定できます。
  • Password:指定されたユーザーに紐付けられたパスワード。

Cache Driver[CacheDriver]

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

Note:指定されたJDBC ドライバーのJAR ファイルをクラスパスに追加する必要があります。CData JDBC drivers の場合、このJAR ファイルはドライバーのインストールディレクトリの"lib" サブフォルダにあります。

また、CacheConnection 接続プロパティを設定して、指定されたJDBC ドライバーの接続文字列を入力する必要があります。

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

Derby およびJava DB

Java DB は、Derby のOracle ディストリビューションです。Java DB にキャッシュするには、Derby JDBC ドライバーのJAR ファイルであるderbytools.jar をクラスパスに追加する必要があります。

Derby JDBC ドライバーのJAR ファイルは、このページからダウンロードできるdb-derby-10.17.1.0-bin.zip に同梱されています。derbytools.jar はこのzip ファイルの"lib" サブフォルダにあります。

クラスパスにderbytools.jar を追加した後、以下のようにJava DB データベースにキャッシュすることができます。

jdbc:dynamics365:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:sample';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;
インメモリデータベースにキャッシュするには、次のようにJDBC URL を使用します。
jdbc:dynamics365:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;

SQLite

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

jdbc:dynamics365:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;

MySQL

以下はCData JDBC Driver for MySQL のJDBC URL です。

  jdbc:dynamics365:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;
  

SQL Server

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

jdbc:dynamics365:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;

Oracle

次はOracle Thin Client のJDBC URL です。

jdbc:dynamics365:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;
NOTE:9i より前のバージョンのOracle を使用している場合は、キャッシュドライバーは代わりにoracle.jdbc.driver.OracleDriver になります。

PostgreSQL

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

jdbc:dynamics365:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;

Cache Location[CacheLocation]

CacheLocation は単純なファイルベースキャッシュです。

本製品 はDerby データベースのOracle のディストリビューションあるJava DB をファイルベースのキャッシュに使用しています。Java DB にキャッシュするには、Derby JDBC ドライバーのJAR ファイルであるderbytools.jar をクラスパスに追加する必要があります。

Derby JDBC ドライバーのJAR ファイルは、このページからダウンロードできるdb-derby-10.17.1.0-bin.zip に同梱されています。derbytools.jar はこのzip ファイルの"lib" サブフォルダにあります。

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

プラットフォーム %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config

関連項目

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


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

この接続プロパティがTrue に設定されている場合、クエリを実行すると、Microsoft Dynamics 365 カタログのテーブルメタデータはCacheConnectionCacheDriver で指定されたキャッシュデータベースにキャッシュされ、もしこれらの接続プロパティが設定されていない場合はユーザーのホームディレクトリにキャッシュされます。

ホームディレクトリの場所はプラットフォームによって異なります。

プラットフォームホームディレクトリ
Windows %APPDATA%\\CData\\Dynamics365 Data Provider
Mac ~/Library/Application Support/CData/Dynamics365 Data Provider
Unix ~/.config/CData/Dynamics365 Data Provider

テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。

CacheMetadata を使用するタイミング

本製品 がメタデータ検索で取得するMicrosoft Dynamics 365 テーブルとカラムの数が多い場合、本製品 がすべてのテーブルメタデータをリストするのに時間がかかることがあります。

次のような場合に、メタデータの取得に時間がかかることがあります。

  • 使用しているMicrosoft Dynamics 365 インスタンスのテーブル数が多い。
  • 本製品 が、接続プロパティによってデフォルト設定よりも多くのテーブルを検出するように設定されている。
  • 本製品 に対して多くの短期間接続を行っている。
CacheMetadata を有効にすると、取得されたすべてのメタデータはキャッシュデータベースにミラーリングされます。これは、本製品 が以降にメタデータを検出しようとする場合に、メタデータがキャッシュデータベースから直接読み取られMicrosoft Dynamics 365 にメタデータをリクエストする時間が不要になるため、より高速になることを意味します。

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

本製品 は、はじめてテーブルやビューのメタデータを発見したときから最大1時間、そのメタデータをメモリに自動的に保持するため、通常はCacheMetadata は必要ありません。

CacheMetadata は、変動しやすいメタデータを扱うシナリオでは理想的ではありません。はじめてテーブルをクエリするとき、本製品 はそのメタデータをキャッシュデータベースファイルにキャッシュします。このキャッシュはテーブルスキーマの更新を反映するために動的に更新されることはないため、新規、変更、削除されたカラムを取得するには、キャッシュデータベースファイルを削除して再構築する必要があります。


Default Value: false
Cache Tolerance[CacheTolerance]

キャッシュ内のテーブルに対してクエリを実行すると、本製品 はキャッシュの最終更新から経過した時間を確認します。

キャッシュの最終更新がこの接続プロパティの値(秒単位)よりも前の場合、本製品 はキャッシュを更新します。

それ以外は、本製品 はキャッシュから直接データを返します。

AutoCacheTrue に設定されている場合にのみ適用されます。


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

認証プロセス中、OAuth 認証サーバーはユーザーをこのURL にリダイレクトします。 この値は、カスタムOAuth アプリケーションの作成時に指定したコールバックURL と一致する必要があります。

Connection Life Time[ConnectionLifeTime]

このプロパティは、接続が本製品 によって自動的に閉じられるまでのアクティブな状態を維持する時間を制御します。 時間は秒単位で指定します。このプロパティを0より大きい値に設定すると接続の有効期間が制限され、その後本製品 が接続を終了します。

デフォルトではこのプロパティは0に設定されており、接続の有効期間に制限はありません。接続は明示的に閉じられるか、ネットワークの中断やセッションのタイムアウトなどの外部要因によって終了されるまで開いたままになります。

このプロパティは、リソースの利用状況を管理し、古くなった接続やアイドル状態の接続が無期限に持続するのを防ぐのに役立ちます。


Default Value: 0
Connect On Open[ConnectOnOpen]

true に設定すると、プロバイダーは「接続テスト」操作を実行します。これは、データベースツールで接続性を検証するために一般的に使用されます。 この操作はセッションデータを保持しません。単に接続が確立できるかどうかを確認するだけで、NOOP(操作なし)コマンドのように機能します。

false に設定すると、接続は操作が必要になるまで遅延されます。これは、接続が頻繁に開閉されるがすぐに操作が行われないようなシナリオでパフォーマンスが向上する場合があります。


Default Value: false
Continue On Error[ContinueOnError]

ContinueOnError がtrue に設定されていてバッチでエラーが発生した場合、次のバッチに進み、失敗したバッチのステータス情報を提供します。

ContinueOnError がfalse の場合、エラーが発生するとそれ以降のバッチ処理を停止します。エラーが発生する前に行われたすべての変更はそのまま保持されます。


Default Value: false
クロスカンパニー[CrossCompany]

This property only applies when Edition is set to FinOpsOnline, FinOpsOnPremise or HumanResources.


Default Value: false
Custom Url Params[CustomUrlParams]

このプロパティを使用すると、HTTP リクエストに含まれるカスタムクエリ文字列パラメータを指定できます。 パラメータは、各値がURL エンコードされた形式でfield1=value1&field2=value2&field3=value3 の形式で、クエリ文字列としてエンコードする必要があります。 URL エンコーディングは、以下のようにインターネット上で送信可能な文字列に変換する方法です。

  • 非ASCII 文字は、"%" とそれに続く2桁の16進数で表される同等の文字に置き換えられます。
  • スペースはプラス記号(+)または%20 で置き換えられます。

Edition[Edition]

エディションがFinOpsOnPremise の場合はADFSServer も指定する必要があります。


Default Value: FinOpsOnline
Possible Values:
FinOpsOnline2
Sales7
Enable Atomic Batch Operations[EnableAtomicBatchOperations]

The behavior of the 本製品 is dependent on both EnableAtomicBatchOperation and ContinueOnError. The ContinueOnError option is effective only when EnableAtomicBatchOperation is set to false.

When the EnableAtomicBatchOperations property is set to true, the Create, Update, and Delete (CUD) operations within a transaction are completed successfully as a single unit. If any part of the transaction fails, the entire transaction is aborted, and the database is left unchanged. Therefore, when atomic batch operations are enabled, ContinueOnError will be ignored.

ContinueOnError can be used in conjunction with EnableAtomicBatchOperations set to true. When EnableAtomicBatchOperations is set to true, the API will ensure that if any request in the batch fails, the entire batch will be rolled back.


Default Value: true
Entity Types[EntityTypes]

  • PUBLIC: Only public entities will be listed during metadata discovery.
  • PRIVATE: Only private entities will be listed during metadata discovery.
  • ALL: All entities will be listed during metadata discovery.


Default Value: ALL
Possible Values:
PUBLIC0
PRIVATE1
ALL2
Firewall Password[FirewallPassword]

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Firewall Port[FirewallPort]

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。


Default Value: 0
Firewall Server[FirewallServer]

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Firewall Type[FirewallType]

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Note:デフォルトでは、本製品 はシステムプロキシに接続します。この動作を無効化し、次のプロキシタイプのいずれかに接続するには、ProxyAutoDetectfalse に設定します。

次の表は、サポートされている各プロトコルのポート番号情報です。

プロトコル デフォルトポート 説明
TUNNEL 80 本製品 がMicrosoft Dynamics 365 への接続を開くポート。トラフィックはこの場所のプロキシを経由して行き来します。
SOCKS4 1080 本製品 がMicrosoft Dynamics 365 への接続を開くポート。SOCKS 4 は次にFirewallUser 値をプロキシに渡し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 本製品 がMicrosoft Dynamics 365 にデータを送信するポート。SOCKS 5 プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

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


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

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Include Formatted Values[IncludeFormattedValues]

If set to true, an extra column named columnname_display is added beside each column. If the column contains a formatted value, the new column exposes that formatted values. If the field does not have a formatted value, columname_display is null.


Default Value: false
Include Look Up Logical Name[IncludeLookUpLogicalName]

For each key column, an extra one is added to expose the LookUp logical name value. New columns will have "_lookuplogicalname" postfix.


Default Value: false
Include Navigation Keys[IncludeNavigationKeys]

This property is provided to make it simpler to retrieve JSON record references where possible. When true, the $prod; pushes a set of fields for each table relation.

These properties are not available for use in INSERT or UPDATE operations. (Use the Linked* navigation columns for that).

If your service supports both XML/ATOM and JSON and you want to use this property, be sure to set DataFormat to JSON.


Default Value: false
Include Navigation Properties[IncludeNavigationProperties]

Navigation properties provide a way to navigate an association between two entity types. Every object can have a navigation property for every relationship in which it participates.

Navigation properties enable you to navigate and manage relationships in two ways:

  • Two-directional navigation returns either a reference object (if the relationship is either 1 or 0-or-1) or a collection (if the relationship is 1-to-many).
  • One-directional navigation enables you to define the navigation property on just one of the types that participates in the relationship, but not both.

When retrieving data, the navigation properties in a cell do not populate with information. Rather, they act to bind the content to an existing resource during inserts or updates. For example:

INSERT INTO accounts (_primarycontactid_value) VALUES ('123456')

To specify multiple values, use a comma-separated list. For instance:

INSERT INTO accounts (lead_customer_accounts) VALUES ('123,456')


Default Value: false
イニシエートOAuth[InitiateOAuth]

OAuth は、アプリケーションがHTTP サービス上のユーザーアカウントに限定的にアクセスすることを可能にする認可フレームワークです。OAuth フローは、ユーザーのログイン方法、認証に使用されるOAuth アクセストークンと資格情報の交換方法、およびアプリケーションへの限定的なアクセスを提供する方法を定義します。

Microsoft Dynamics 365 は、OAuth アクセスを開始するための以下のオプションをサポートしています。

  1. OFF:OAuth フローの自動開始はありません。OAuth フローは完全にユーザーによって操作され、ユーザーが自らのOAuth アクセストークンを取得するためのアクションを取ります。 この設定では、ユーザーがトークンを手動でリフレッシュし、現在のトークンが期限切れになった際に更新されたOAuthAccessToken プロパティで再接続する必要があることに注意してください。
  2. GETANDREFRESH:OAuth フローは本製品 によってすべて操作されます。トークンが既に存在する場合は、必要に応じてリフレッシュされます。トークンが存在しない場合、ユーザーにログインを促してトークンを取得します。
  3. REFRESH:ユーザーはOAuth アクセストークンの取得を操作し、OAuth アクセストークンのリフレッシュシーケンスを設定します。(ユーザーは認証のためにログインを求められることはありません。ユーザーがログインした後、本製品 がOAuthアクセストークンのリフレッシュを操作します。)


Default Value: OFF
Possible Values:
OFF0
REFRESH1
GETANDREFRESH2
Location[Location]

Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

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

プラットフォーム %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


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

このプロパティは、認証イベント、クエリ実行、接続の詳細など、本製品 の操作を記録するログファイルの場所と名前を指定します。 指定されたファイルが存在しない場合、本製品 はそのファイルを作成します。本製品 を実行しているユーザーまたはサービスが、指定されたパスまたはファイルへの書き込み権限を持っていることを確認してください。 適切な権限がない場合、ログファイルは作成されません。パスワードやトークンなどの接続文字列の機密情報は、ログで自動的にマスキングされます。 ただし、データ自体に含まれる機密情報はマスキングされない可能性があります。

Logfile に相対パスを指定し、Location プロパティが設定されている場合、そのディレクトリがログファイルのベースパスとして使用されます。

追加プロパティにより、ログの動作をカスタマイズできます。

  • ログファイルの詳細レベルを制御するには、Verbosity を使用します。
  • MaxLogFileSize でログファイルのサイズを管理し、MaxLogFileCount で保持するログファイルの数を制御します。
  • LogModules プロパティを調整することで、特定のログモジュールをフィルタリングします。

Java のログ出力

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

Logfile=JAVALOG://myloggername

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

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

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

Log Modules[LogModules]

このプロパティは、含めるログモジュールを指定することでログファイルの内容をカスタマイズすることができます。 ログモジュールは、クエリ実行、メタデータ、SSL 通信などの異なる領域にログ情報を分類します。 各モジュールは4文字のコードで表され、文字の名前の場合は末尾にスペースが必要なものもあります。

例えば、EXEC はクエリ実行をログに記録し、INFO は一般的なプロバイダーメッセージをログに記録します。 複数のモジュールを含めるには、次のように名前をセミコロンで区切ります:INFO;EXEC;SSL。

Verbosity 接続プロパティは、このプロパティで指定されたモジュールベースのフィルタリングよりも優先されます。 Verbosity レベルを満たし、指定されたモジュールに属するログエントリのみが記録されます。 利用可能なすべてのモジュールをログファイルに含めるには、このプロパティを空白のままにします。

利用可能なモジュールの完全なリストとログの設定に関する詳細な手引きについては、ログ の「高度なログの記録」セクションを参照してください。

Max Log File Count[MaxLogFileCount]

各ログファイル名には、識別しやすいように日付と時刻が含まれています。

このプロパティには以下の値を指定できます。

  • 2以上の値を設定すると、保持されるログファイルの最大数が設定されます。
  • 値が1の場合、ログファイルは1つだけ保持されます。最大サイズに達すると、ファイルは削除され新しいファイルに置き換えられます。これにより、現在のログ以外の履歴は残りません。
  • 0または負の値を設定すると、ログファイルの数に制限がなくなりログ記録が無期限に続きます。

ログファイルのサイズを管理するには、MaxLogFileSize プロパティを使用します。これらの2つのプロパティは、ログフォルダ内のログファイルのサイズと保持を制御するために連携して動作します。


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

100 KB より小さい値の場合、本製品 は100 KB を最小許容サイズとして使用します。

保持されるログファイルの総数を制御するには、このプロパティとMaxLogFileCount プロパティを組み合わせて使用します。 これらのプロパティを組み合わせることで、ログファイルのサイズと保持を効果的に管理できます。


Default Value: 100MB
Max Rows[MaxRows]

このプロパティは、集計やGROUP BY 句を含まないクエリに対して本製品 が返す行数の上限を設定します。 この制限により、クエリがデフォルトで過度に大きな結果セットを返さないようにします。

クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。 MaxRows が"-1" に設定されている場合、LIMIT 句が明示的にクエリに含まれていない限り、行の制限は行われません。

このプロパティは、非常に大きなデータセットを返す可能性のあるクエリを実行する際に、パフォーマンスを最適化し過剰なリソース消費を防ぐのに役立ちます。


Default Value: -1
Minimum Column Size[MinimumColumnSize]

For more information about column limits at your site, examine the Manage Limits admin view.


Default Value: 0
OAuthアクセストークン[OAuthAccessToken]

OAuthAccessToken は、保護されたリソースへのアクセスを認可する一時的な認証情報です。 これは通常、ユーザーまたはクライアントアプリケーションがOAuth 認証フローを完了した後に、ID プロバイダーから返されます。 このプロパティは、自動化されたワークフローや、トークンの処理をドライバーの外部で管理したいカスタムOAuth 実装で最も一般的に使用されます。

OAuth アクセストークンにはサーバーに依存する時間制限があり、ユーザーのアクセスを制限します。これは、OAuthExpiresIn プロパティを使用して設定します。ただし、ユーザーが操作を続けている限り、リクエスト間で再発行することでアクセスを維持することができます。

InitiateOAuthREFRESH に設定されている場合、OAuthExpiresInOAuthTokenTimestamp の両方を設定することを推奨します。 本製品 は、これらのプロパティを使用してトークンの有効期限を判断し、最も効率的にリフレッシュできるようにします。OAuthExpiresIn およびOAuthTokenTimestamp が指定されていない場合、本製品 はトークンを直ちにリフレッシュします。

アクセストークンは機密性の高い認証情報として扱い、安全に保管する必要があります。アクセス制御されていないログ、スクリプト、または設定ファイルでの公開は避けてください。

OAuthクライアントID[OAuthClientId]

このプロパティは、カスタムOAuth アプリケーションを使用する場合に必要です。たとえば、Web ベースの認証フロー、サービスベースの認証、またはアプリケーションの登録が必要な証明書ベースのフローなどが該当します。 ドライバーに組み込みOAuth アプリケーションが用意されていない場合にも、このプロパティは必要です。 組み込みOAuth アプリケーションが利用可能な場合、この値はすでに本製品 によって設定されており、手動で入力する必要がないことがあります。

この値は、認証付きの接続を構成する際に、OAuthClientSecretOAuthSettingsLocation などの他のOAuth 関連プロパティと一緒に使用されるのが一般的です。

OAuthClientId は、ユーザーがOAuth 経由で認証を行う前に設定する必要がある、主要な接続パラメータの1つです。この値は、通常、ID プロバイダーのアプリケーション登録設定で確認できます。Client IDApplication IDConsumer Key などとラベル付けされた項目を探してください。

クライアントID は、クライアントシークレットのような機密情報とは見なされませんが、アプリケーションの識別情報の一部であるため、慎重に取り扱う必要があります。公開リポジトリや共有設定ファイルでこの値を露出させないようにしてください。

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

このプロパティは、安全なクライアント認証を必要とするすべてのフローでカスタムOAuth アプリケーションを使用する場合に必要です。たとえば、Web ベースのOAuth、サービスベースの接続、証明書ベースの認可フローなどが該当します。 組み込みOAuth アプリケーションを使用する場合は必要ありません。

クライアントシークレットは、OAuth フローのトークン交換ステップで使用されます。このステップでは、ドライバーが認可サーバーにアクセストークンを要求します。 この値が欠落しているか正しくない場合、認証は失敗し、サーバーはinvalid_client またはunauthorized_client エラーを返す可能性があります。

OAuthClientSecret は、ユーザーがOAuth 経由で認証を行う前に設定する必要がある、主要な接続パラメータの1つです。この値は、OAuth アプリケーションを登録する際にID プロバイダーから取得できます。これは、クライアントシークレット、アプリケーションシークレット、またはコンシューマーシークレットと呼ばれることがあります。 この値は安全に保管し、公開リポジトリやスクリプト、安全でない環境では決して公開しないようにしてください。クライアントシークレットは、一定期間が経過すると有効期限が切れる場合もあります。 アクセスを中断させないために、有効期限を常に監視し、必要に応じてシークレットをローテーションするようにしてください。

OAuth Expires In[OAuthExpiresIn]

OAuth アクセストークンは認証済みのユーザーに割り当てられ、そのユーザーに指定された期間のネットワークへのアクセスを許可します。アクセストークンはユーザーのログインID とパスワードの代わりに使用され、サーバーに保持されます。

サーバーによって作成されたアクセストークンは、限定された時間のみ有効です。OAuthExpiresIn は、トークンが作成されてから有効である秒数です。例えば、2024-01-29 20:00:00 UTC に生成され、2024-01-29 21:00:00 UTC(1時間後)に期限切れとなるトークンは、現在の時刻に関係なくOAuthExpiresIn の値は3600です。

ユーザーがアクセストークンの有効期限が切れるまでの時間を確認するには、OAuthTokenTimestamp を使用します。

OAuth Grant Type[OAuthGrantType]

ほとんどの場合、デフォルトのグラント種別は変更すべきではありません。 最も一般的なOAuth グラント種別とそれぞれのメリット・デメリットについては、https://oauth.net/2/grant-types/ を参照してください。


Default Value: CODE
Possible Values:
CODE0
CLIENT1
PASSWORD2
OAuth JWT Cert[OAuthJWTCert]

このプロパティは、証明書ベースの認証を使用している場合にのみ必要です。 たとえば、AuthSchemeAzureServicePrincipalCert のような証明書ベースのフローに設定されている場合、このプロパティには適切な証明書ストアのパスまたは名前を設定する必要があります。 証明書に依存しないAuthScheme を使用している場合、このプロパティは必要ありません。

OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。

OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。

証明書ストアの指定はプラットフォームに依存します。

Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。

MY個人証明書と関連付けられた秘密キーを格納している証明書ストア。
CA証明機関の証明書。
ROOTルート証明書。
SPCソフトウェア発行元証明書。

Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。

証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。

OAuth JWT Cert Password[OAuthJWTCertPassword]

このプロパティは、証明書ストアを開くために必要なパスワードを指定します。ただし、ストアの種類がパスワードを必要とする場合に限ります。 パスワードが必要かどうかを判断するには、ご利用の証明書ストアのドキュメントまたは設定を参照してください。

OAuth JWT Cert Subject[OAuthJWTCertSubject]

このプロパティの値は、ストアで一致する証明書を検索するために使用されます。検索プロセスは以下のように動作します。

  • サブジェクトに完全に一致する証明書が見つかれば、該当する証明書が選択されます。
  • 完全に一致するものがない場合、ストアは、サブジェクトがプロパティ値を含む証明書を検索します。
  • 一致する証明書がない場合、証明書は選択されません。

値を '*' に設定すると、ストアの先頭の証明書が自動的に選択されます。 証明書のサブジェクトは識別名フィールドおよび値のカンマ区切りのリストです。 例:CN=www.server.com, OU=test, C=US, E=support@cdata.com。一般的なフィールドには以下のものが含まれます。

フィールド説明
CN共通名。一般的には、www.server.com のようなホスト名です。
O法人名
OU法人の部署名
L法人の住所(市町村名)
S法人の住所(都道府県)
C国名
EE メールアドレス

フィールド値にカンマが含まれる場合は、引用符で囲んでください。例:"O=ACME, Inc."。


Default Value: *
OAuth JWT Cert Type[OAuthJWTCertType]

このプロパティには次の値の一つを設定できます。

USERWindows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。
MACHINEWindows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。
PFXFILEこの証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。
PFXBLOBこの証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。
JKSFILEこの証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。
JKSBLOBこの証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。
PEMKEY_FILEこの証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。
PEMKEY_BLOBこの証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。
PUBLIC_KEY_FILEこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。
PUBLIC_KEY_BLOBこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。
SSHPUBLIC_KEY_FILEこの証明書ストアは、SSH 公開キーを含むファイルの名前です。
SSHPUBLIC_KEY_BLOBこの証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。
P7BFILEこの証明書ストアは、証明書を含むPKCS7 ファイルの名前です。
PPKFILEこの証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。
XMLFILEこの証明書ストアは、XML 形式の証明書を含むファイルの名前です。
XMLBLOBこの証明書ストアは、XML 形式の証明書を含む文字列の名前です。
BCFKSFILEこの証明書ストアは、Bouncy Castle キーストアを含むファイルの名前です。
BCFKSBLOBこの証明書ストアは、Bouncy Castle キーストアを含む文字列(Base-64エンコード)です。


Default Value: USER
Possible Values:
USER0
MACHINE1
PFXFILE2
PFXBLOB3
JKSFILE4
JKSBLOB5
PEMKEY_FILE6
PEMKEY_BLOB7
PUBLIC_KEY_FILE8
PUBLIC_KEY_BLOB9
SSHPUBLIC_KEY_FILE10
SSHPUBLIC_KEY_BLOB11
P7BFILE12
PPKFILE13
XMLFILE14
XMLBLOB15
BCFKSFILE16
BCFKSBLOB17
OAuth JWT Issuer[OAuthJWTIssuer]

Java Web Token の発行者。 通常は、OAuth アプリケーションのクライアントId またはE メールアドレスとなります。

OAuth JWT Subject[OAuthJWTSubject]

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。通常は、ユーザーのアカウント名またはE メールアドレスとなります。

OAuth Refresh Token[OAuthRefreshToken]

現在のアクセストークンが期限切れになったときに、新しいアクセストークンを取得するためにリフレッシュトークンが使用されます。 これにより、ユーザーが再度ログインすることなく、長時間実行されるワークフローや自動化された処理において、シームレスな認証が可能になります。 このプロパティは、対話型の認証ができないヘッドレス環境、CI/CD、またはサーバーベースの環境において特に重要です。

リフレッシュトークンは通常、初回のOAuth 交換時にGetOAuthAccessToken ストアドプロシージャを呼び出すことで取得されます。 その後、このプロパティを使用して自動トークン更新を有効にするか、手動で更新を管理したい場合はRefreshOAuthAccessToken ストアドプロシージャに渡すことができます。

InitiateOAuthREFRESH に設定されている場合、ドライバーはこのトークンを使用して、新しいアクセストークンを自動的に取得します。 最初のリフレッシュの後、ドライバーは更新されたトークンをOAuthSettingsLocation によって定義された場所に保存し、その後の接続ではその値を使用します。

OAuthRefreshToken は安全に取り扱い、信頼できる場所に保管する必要があります。 アクセストークンと同様に、リフレッシュトークンもID プロバイダーのポリシーによって、有効期限が切れたり、取り消されたりする場合があります。

OAuth設定場所[OAuthSettingsLocation]

以下のいずれかの方法でOAuth の値をセントラルファイルに保存し、その値へのアクセスを共有できます。

  • InitiateOAuthGETANDREFRESH またはREFRESH に設定し、OAuth 設定ファイルのファイルパスを指定します。
  • メモリストレージを使用して、資格情報を静的メモリにロードします。

以下のセクションでは、それぞれの方法について詳しく説明します。

OAuthSettingsLocation ファイルパスの指定

デフォルトのOAuth 設定の場所は%APPDATA%\\CData\\Dynamics365 Data Provider\\OAuthSettings.txt となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます。 デフォルト値は、ユーザーのオペレーティングシステムによって異なります。

  • Windows(ODBC およびPower BI):registry://%DSN%
  • Windows%APPDATA%CDataDynamics365 Data Provider\OAuthSettings.txt
  • Mac%APPDATA%/CData/Dynamics365 Data Provider/OAuthSettings.txt
  • Linux%APPDATA%/CData/Dynamics365 Data Provider/OAuthSettings.txt

メモリストレージ経由での資格情報のロード

メモリの場所は、memory:// で始まる値とそのクレデンシャルのセット(例:memory://user1)の一意の識別子を使用して指定します。識別子は任意のものを選択できますが、ユーザーごとに一意である必要があります。

資格情報が接続間で永続化されるファイルベースのストレージとは異なり、メモリストレージは資格情報を静的メモリにロードし、資格情報はプロセスが継続している間は同じ識別子を使用して接続間で共有されます。そのプロセス外で資格情報を永続化するには、接続を閉じる前に資格情報を手動で保存する必要があります。これにより、プロセスが再開されたときに接続にそれらを設定することができます。

OAuth プロパティの値を取得するには、sys_connection_props システムテーブルをクエリします。複数の接続で同じ資格情報を使用している場合は、プロパティは最後に閉じた接続から読み取られます。

サポートされるストレージの種類

  • memory://:OAuth トークンをメモリ内に保存します(一意の識別子、同一プロセス内で共有など)。
  • registry://:Windows ODBC およびPower BI エディションでのみサポートされています。DSN 設定のレジストリにOAuth トークンを格納します。registry://CData JDBC Driver for Microsoft Dynamics 365 2024J Data Source、またはregistry://%DSN% のようなDSN 名で終わる必要があります。
  • %DSN%:接続先のDSN 名。
  • デフォルト(接頭辞なし):OAuth トークンをファイル内に格納します。値には絶対パス、または%APPDATA%%PROGRAMFILES% で始まるパスのいずれかを指定できます。


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

OAuth アクセストークンは認証済みのユーザーに割り当てられ、そのユーザーに指定された期間のネットワークへのアクセスを許可します。アクセストークンはユーザーのログインID とパスワードの代わりに使用され、サーバーに保持されます。

サーバーによって作成されたアクセストークンは、限定された時間のみ有効です。OAuthTokenTimestamp は、サーバーがトークンを作成した時のUnix タイムスタンプです。例えば、OAuthTokenTimestamp=1706558400 は、OAuthAccessToken がサーバーによって2024-01-29 20:00:00 UTC に生成されたことを示します。

OAuth Verifier[OAuthVerifier]

OAuthVerifier 値の取得方法の詳細については、 を参照してください。

Offline[Offline]

この接続プロパティががTrue に設定されている場合、すべてのクエリは、ライブMicrosoft Dynamics 365 データではなくキャッシュデータベースに対して実行されます。

このモードでは、INSERT、UPDATE、DELETE、CACHE などの一部のSQL 操作が無効になります。


Default Value: false
Organization URL[OrganizationURL]

リソースのURL 形式は通常https://abc123.cloudax.dynamics.com/ に類似していますが、Edition がHumanResources の場合は異なります。 HumanResources のURL は通常次のようになります:https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/

Other[Other]

このプロパティは、シニアユーザーが特定のシナリオに対して隠しプロパティを設定できるようにします。 これらの設定は通常のユースケースには必要ありませんが、特定の要件に対応したり、追加の機能を提供したりすることができます。 複数のプロパティをセミコロン区切りのリストで定義できます。

Note: 特定のシナリオや問題に対処するためにサポートチームから助言があった場合にのみ、これらのプロパティを設定することを強く推奨します。

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

キャッシュの設定

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

統合およびフォーマット

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

Pagesize[Pagesize]

クエリを処理する際、Microsoft Dynamics 365 でクエリされたデータすべてを一度にリクエストする代わりに、本製品 はクエリされたデータをページと呼ばれる部分ごとにリクエストすることができます。

この接続プロパティは、本製品 がページごとにリクエストする結果の最大数を決定します。

大きなページサイズを設定すると全体的なクエリ実行時間が短縮される可能性がありますが、その場合、クエリ実行時に本製品 がより多くのメモリを使用することになり、タイムアウトが発生するリスクがあることに注意してください。


Default Value: 5000
Pool Idle Timeout[PoolIdleTimeout]

このプロパティは、UseConnectionPooling が有効な場合にのみ適用されます。接続プーリングは、リクエストごとに新しい接続を作成するのではなく、確立されたデータベース接続を再利用するメカニズムです。 これにより、頻繁な接続作成に伴うオーバーヘッドを削減し、パフォーマンスが向上します。

PoolIdleTimeout は、使用されていない接続を閉じてリソースを管理するのに役立ち、アイドル接続を維持することによる潜在的なオーバーヘッドを削減します。 値を小さくするとアイドル状態の接続を迅速にクリーンアップできます。一方、値を大きくすると接続を長く開いておけるため、再接続が頻繁に発生するシナリオではパフォーマンスが向上する可能性があります。


Default Value: 60
Pool Max Size[PoolMaxSize]

このプロパティは、接続プールで維持できるアクティブな接続の最大数を定義します。 このプロパティは、UseConnectionPooling がtrue に設定されている場合にのみ適用されます。 上限に達すると、新しい接続リクエストは既存の接続がプールに戻されるのを待つ必要があります。

プロパティを0または負の値に設定して接続プールを無効にすると接続の管理を簡素化できますが、トラフィックが多いシナリオではパフォーマンスが低下する可能性があります。 このプロパティは、リソースの使用率を最適化し、アプリケーションがサーバーやネットワークの制限を超えないようにするのに役立ちます。


Default Value: 100
Pool Min Size[PoolMinSize]

このプロパティは、指定された最小数の接続が常に接続プールで利用可能であることを確実にします。 この設定は、接続を事前に初期化してすぐに使用できる状態に保つことで、待ち時間を減らすのに役立ちます。

デフォルトでは、プロバイダーはプールに少なくとも1つの接続を維持します。 より大きな値を設定することで、一貫したトラフィックがある環境でのパフォーマンスを向上させることができますが、リソースの使用量が増加する可能性があります。 値を小さくすると、非アクティブ時にプールがすべての接続を解放し、リソースの消費を抑えることができます。


Default Value: 1
Pool Wait Time[PoolWaitTime]

このプロパティは、新しい接続リクエストがプールの利用可能な接続を待機する時間を制御します。 指定された時間内に接続が利用可能にならない場合、本製品 はエラーを返します。

デフォルト値は60秒で、接続リクエストが無期限に待機しないようにします。 トラフィックが多い環境やプールサイズが限られている場合、この値を大きくすることで接続が利用可能になるまでの時間を延ばすことができますが、失敗したリクエストのエラー処理が遅れる可能性があります。


Default Value: 60
Proxy Auth Scheme[ProxyAuthScheme]

認証タイプは次のいずれかです。

  • BASIC:本製品 はHTTP BASIC 認証を行います。
  • DIGEST:本製品 はHTTP DIGEST 認証を行います。
  • NTLM:本製品 はNTLM トークンを取得します。
  • NEGOTIATE:本製品 は認証において有効なプロトコルに応じて、NTLM もしくはKerberos トークンを取得します。
  • NONE:ProxyServer が認証を必要としない場合に設定します。

"NONE" 以外のすべての値については、ProxyUser およびProxyPassword 接続プロパティも設定する必要があります。

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


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

この接続プロパティをTrue に設定すると、本製品 は既存のプロキシサーバー構成についてシステムプロキシ設定をチェックします(プロキシサーバーの詳細を手動で入力する必要はありません)。

この接続プロパティは他のプロキシ設定より優先されます。特定のプロキシサーバーに接続するために本製品 を手動で構成する場合は、False に設定します。

このプロパティがTrue に設定されている場合、使用するプロキシはこれらの場所をこの順番でチェックして決定されます。ある場所でプロキシが決定できない場合、本製品 は次の場所をチェックします。

  1. 本製品 は、JVM のプロパティ(http.proxy、https.proxy、socksProxy など)から検索を行います。
  2. JVM のプロパティが存在しない場合、本製品 はjava.home/lib/net.properties を検索します。
  3. java.net.useSystemProxies がTrue に設定されている場合、本製品 はSystemProxy を検索します。
  4. Windows では、本製品はレジストリインターネットオプション、具体的にはレジストリキーHKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ からプロキシ設定を読み取ります。Windows 10以降では、Windows の設定にあるプロキシの設定に対応します。

これらの設定は、マシンの現在のユーザーにのみ適用されることに注意してください。アプリケーションをサービスとして実行している場合、本製品 はユーザー設定を読み込みません。代わりに、本製品 の接続プロパティでプロキシ設定を手動で行う必要があります。

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


Default Value: false
Proxy Exceptions[ProxyExceptions]

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

本製品 はデフォルトでシステムプロキシ設定を使用するため、それ以上の設定は必要ありません。この接続にプロキシ例外を明示的に設定する場合は、ProxyAutoDetect をFalse に設定します。

Proxy Password[ProxyPassword]

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

ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。

ProxyAuthScheme の値 ProxyPassword に設定する値
BASIC ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。
DIGEST ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。
NEGOTIATE ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。
NTLM ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。
NONE ProxyPassword 接続プロパティは設定しないでください。

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

本製品 は、ProxyAutoDetectFalse に設定されている場合にのみ、このパスワードを使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、本製品 は代わりにシステムのプロキシ設定で指定されているパスワードを使用します。

Proxy Port[ProxyPort]

ProxyAutoDetectFalse に設定されている場合、本製品 はこの接続プロパティで指定されたプロキシサーバーポートを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、本製品 は代わりにシステムプロキシ設定で指定されたプロキシサーバーポートを介してHTTP トラフィックをルーティングします。

その他のプロキシタイプについては、FirewallType を参照してください。


Default Value: 80
Proxy Server[ProxyServer]

ProxyAutoDetectFalse に設定されている場合、本製品 はこの接続プロパティで指定されたプロキシサーバーを通じてのみHTTP トラフィックをルーティングします。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、本製品 は代わりにシステムプロキシ設定で指定されたプロキシサーバーを介してHTTP トラフィックをルーティングします。

Proxy SSL Type[ProxySSLType]

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この接続プロパティには、以下の値を設定できます。

AUTOデフォルト設定。ProxyServer がHTTPS URL に設定されている場合、本製品 は、TUNNEL オプションを使用します。ProxyServer が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 で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。

ProxyAuthScheme の値 ProxyUser に設定する値
BASIC プロキシサーバーに登録されているユーザーのユーザー名。
DIGEST プロキシサーバーに登録されているユーザーのユーザー名。
NEGOTIATE プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。
NTLM プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。
NONE ProxyPassword 接続プロパティは設定しないでください。

本製品 は、ProxyAutoDetectFalse に設定されている場合にのみ、このユーザー名を使用します。ProxyAutoDetect がTrue に設定されている場合(デフォルト)、本製品 は代わりにシステムのプロキシ設定で指定されているユーザー名を使用します。

Pseudo Columns[PseudoColumns]

このプロパティを使用すると、本製品 がテーブルカラムとして公開する擬似カラムを定義できます。

個々の擬似カラムを指定するには、以下の形式を使用します。"Table1=Column1;Table1=Column2;Table2=Column3"

すべてのテーブルのすべての擬似カラムを含めるには、次のようにします:"*=*"

Readonly[Readonly]

true に設定すると、本製品 はSELECT クエリのみを許可します。INSERT、UPDATE、DELETE、またはストアドプロシージャのクエリを実行しようとすると、失敗してエラーメッセージが表示されます。


Default Value: false
RTK[RTK]

ほとんどの構成で標準的なライセンス機構をサポートしているため、通常はこのプロパティは不要です。 このプロパティの設定方法については、同梱のライセンスドキュメントを参照してください。このランタイムキーは、OEM ライセンスを購入した場合にのみ使用できます。

Warning: このプロパティの値は既存のすべてのライセンス情報よりも優先されます。ライセンスエラーを避けるため、提供されたランタイムキーが正しいことを確認してください。

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)が使用されます。

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

Tables[Tables]

データベースによっては、利用可能なすべてのテーブルをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にテーブルのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。

利用可能なテーブルがたくさんあり、すでに作業したいテーブルが決まっている場合、このプロパティを使用して対象のテーブルのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、表示する各テーブルを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するテーブルが混同されることを防ぎます。

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

このプロパティは、本製品 が操作をキャンセルする前に操作の完了を待機する最大時間を秒単位で制御します。 操作の完了前にタイムアウト時間が経過すると、本製品 は操作をキャンセルして例外をスローします。

タイムアウトは、クエリや操作全体ではなくサーバーとの個々の通信に適用されます。 例えば、各ページング呼び出しがタイムアウト制限内に完了する場合、クエリは60秒を超えて実行を続けることができます。

このプロパティを0に設定するとタイムアウトが無効になり、操作が成功するか、サーバー側のタイムアウト、ネットワークの中断、またはサーバーのリソース制限などの他の条件で失敗するまで無期限に実行されます。 このプロパティは慎重に使用してください。長時間実行される操作がパフォーマンスを低下させたり、応答しなくなる可能性があるためです。


Default Value: 60
Use Client Side Paging[UseClientSidePaging]

Pagination is the process of batching data so that the data retrieved is displayed in batches of a particular size. (To keep paging through the data, ask for "more". The data continues to display until all the retrieved data has been shown.)

In client-side paging, the client specifies how many records to return in each request, and the order of the requests. If UseClientSidePaging is set to true, the limit/offset is calculated at the client and the requests are sent concurrently, as multiple threads.

In server-side paging, the server returns only a subset of the data requested by the client. It also provides statistics on how large the full set of requested data is, and how much of the requested data set was not displayed. Server-side pagination is best for large data sets.

Note: Server-side paging requires traversing the data set both backward and forward. Not all data sources support that natively. To explicitly enable server-side paging with a data source that does not support it natively, you must configure your server to return a limited number of records per request, along with metadata about the total number of records. For details, see your data source's API documentation.


Default Value: false
Use Connection Pooling[UseConnectionPooling]

このプロパティは、頻繁な接続作成に関連するオーバーヘッドを削減し、接続の使用率が高いアプリケーションのパフォーマンスを向上させます。 接続プーリングが有効な場合、アプリケーションは各接続が不要になったら明示的に閉じる必要があります。 接続を閉じると、物理的に終了するのではなく、再利用できるようにプールに戻ります。 接続がPoolIdleTimeout 時間を超えてアイドル状態になると、本製品 は自動的に接続を閉じてリソースを解放します。

デフォルトでは、接続プーリングは無効になっています。追加のプロパティ(PoolMaxSizePoolIdleTimeoutPoolWaitTime など)を使用すると、接続プールの動作をカスタマイズできます。 これらの設定は、プールサイズ、アイドル接続タイムアウト、および接続が利用可能になるまでの待機時間の細かい調整を可能にします。 接続プールの使用に関する詳細は、接続プール を参照してください。


Default Value: false
Use Dynamic Stored Procedures[UseDynamicStoredProcedures]

When UseDynamicStoredProcedures is true, you can pull a stored procedure from the Actions and Functions in the OData service $metadata document and use the EXEC command to list it at runtime.

In all other ways, dynamic stored procedures are just like standard static stored procedures. Like standard stored procedures, they can also be listed using CALL or via edition-specific code.


Default Value: false
Use Entity Definitions[UseEntityDefinitions]

This option is useful when precise column metadata is required, and the default data type attributes cannot be relied upon. Since EntityMetadata entities contain a lot of data, more detailed information is provided, including column length, description, precision, and scale. However, due to the larger metadata payload, response times are slower.


Default Value: false
User Defined Views[UserDefinedViews]

このプロパティを使用すると、UserDefinedViews.json というJSON 形式の構成ファイルを通じてカスタムビューを定義および管理できます。 これらのビューは本製品 によって自動的に認識され、標準のデータベースビューのようにカスタムSQL クエリを実行できるようになります。 JSON ファイルは、各ビューをルート要素として定義し、その子要素として"query" を持ちます。この"query" にはビューのSQL クエリが含まれています。次に例を示します。


{
	"MyView": {
		"query": "SELECT * FROM GoalHeadings WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

このプロパティを使用して、1つのファイルに複数のビューを定義し、ファイルパスを指定できます。 例:UserDefinedViews=C:\Path\To\UserDefinedViews.json。 このプロパティを使用すると、指定されたビューのみが本製品 によって検知されます。

詳しくは、ユーザー定義ビュー を参照してください。

Verbosity[Verbosity]

このプロパティは、本製品 がログファイルに含める詳細レベルを定義します。 Verbosity レベルを高くするとログに記録される情報の詳細が増えますが、ログファイルが大きくなり取り込まれるデータが増えるためパフォーマンスが低下する可能性があります。

デフォルトのVerbosity レベルは1で、通常の運用にはこれが推奨されます。 より高いVerbosity レベルは主にデバッグを目的としています。 各レベルの詳細については、ログ を参照してください。

LogModules プロパティと組み合わせることで、Verbosity は特定の情報カテゴリに対するログの詳細度を調整できます。


Default Value: 1
Views[Views]

データベースによっては、利用可能なすべてのビューをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にビューのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。

利用可能なビューがたくさんあり、すでに作業したいビューが決まっている場合、このプロパティを使用して対象のビューのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、確認する各ビューを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するビューが混同されることを防ぎます。


●補足

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