CData Sync App は、Veeva Vault データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Veeva Vault コネクタはCData Sync アプリケーションから使用可能で、Veeva Vault からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Veeva Vault への接続を作成します。Veeva Vault アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからVeeva Vault コネクタをダウンロードおよびインストールします。
必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。
In order to connect to your Veeva Vault account, you will first need to specify the Url connection property to the host you see in the address bar after logging in to your account, ex. https://myvault.veevavault.com.
OpenID Connect with Azure AD is a connection type that goes through OAuth. Set the AuthScheme to AzureADOpenID and the OpenIDConnectProfileID connection property to the Id of your Open ID Connect profile, which can be found by navigating to Admin > Settings > OAuth 2.0 / OpenID Connect Profiles and expanding the details of your OpenID Connect Profile.
There are two authentication methods available for connecting to your Veeva Vault data source, Basic and OAuth 2.0 / OpenID Connect with the Azure AD Authentication Provider.
Set the AuthScheme to Basic and set the User and Password to your user login credentials.
下記の手順に従って、カスタムOAuth アプリの資格情報を使用して認証します。 カスタムAzureAD アプリの作成 を参照してください。 カスタムAzureAD アプリの作成 を参照してください。 OAuth アクセストークンの取得
認証タイプに応じて、以下のいずれかの接続プロパティグループを設定すると、接続できるようになります。
接続すると、Sync App はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
Web アプリケーション経由で接続する場合は、 Veeva Vault にカスタムOAuth アプリを登録する必要があります。カスタムAzureAD アプリの作成 を参照してください。それからSync App を使用してOAuth トークンの値を取得および管理します。 Azure AD 認証プロバイダーを設定するために以前作成したカスタムOAuth アプリを使用する必要があります。 カスタムAzureAD アプリの作成 を参照してください。それからSync App を使用してOAuth トークンの値を取得および管理します。 OAuth アクセストークンの取得
認証タイプに応じて以下のいずれかの接続プロパティグループを設定して、OAuthAccessToken を取得します。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。AuthMode インプットをWEB に、CallbackURL インプットをアプリケーション設定で指定したリダイレクトURI に設定します。必要に応じて、Permissions パラメータを設定してカスタム権限をリクエストします。
ストアドプロシージャがOAuth エンドポイントのURL を返します。
OAuthAccessToken 接続プロパティをストアドプロシージャで返されたアクセストークンに設定し、データに接続します。ExpiresIn 秒後に、アクセストークンの期限が切れたときは、GetOAuthAccessToken を呼び出し、新しいアクセストークンを取得します。
このセクションでは、Veeva Vault Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、Veeva Vault にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Sync App は、Veeva Vault オブジェクトをリレーショナルビューとしてモデル化します。 Veeva Vault オブジェクトは他のオブジェクトとリレーションを持ちます。ビューでは、これらのリレーションは外部キーを使用して表されます。 次のセクションでは、Veeva Vault API の静的なエンドポイントを示します。
残りのビューは、Veeva Vault API で公開されたメタデータを使用して動的に決定されます。すべてのvault オブジェクトはCData Sync App によって公開されます。 しかし、設計時にすべての利用可能なカラムを判別できる種類のビューのみをヘルプにリストしています。 CData Sync App で使用できるがヘルプには表示されないVeeva オブジェクトの例として、以下のものがあります。
Sync App は、Veeva Vault API にできるだけ多くのSELECT 構文処理をオフロードし、残りのクエリをインメモリで処理します。
Sync App がクライアントサイドのインメモリ処理でAPI 制限を回避する方法の詳細については、SupportEnhancedSQL を参照してください。
Veeva Vault Query(VQL)はSQL に似たクエリ言語です。Veeva Vault API を介して使用できます。クエリがサーバー側で処理できる場合、
プロバイダーはSQL をVQL に変換してVeeva Vault に送信します。このように最適化すると、フィルタリングがサーバー側で行われるため、実行時間が短縮されます。
また、プロバイダーはQueryPassthrough をサポートしており、VQL クエリを記述してVeeva Vault に直接送信できます。これは、QueryPassthrough 接続プロパティをtrue に設定することで実行できます。
ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。
ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。
ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。
Name | Description |
AuditHistory | Retrieve complete audit history for a single document or for a single object record. |
DocumentRelationships | Returns all relationships per each document. |
DocumentRoles | Manually retrieve assigned roles on a document and the users and groups assigned to them. |
DocumentUserActions | Retrieve all available user actions on specific versions of multiple documents or binders. |
Lifecycles | Retrieve brief details for the available lifecycles. |
ObjectRelationships | Returns all relationships per each object. An ObjectName is required to query this view. |
ObjectRoles | Manually retrieve assigned roles on an object record and the users and groups assigned to them. |
ObjectTypes | Returns brief details of all types an object can be. |
ObjectWorkflows | Retrieve the workflows of an object or the workflows of an user. |
ObjectWorkflowTasks | Retrieve the workflows of an object or the workflows of an user. |
Retrieve complete audit history for a single document or for a single object record.
Either the DocumentId column or the ObjectName and ObjectRecordId columns must be specified in order to query this view.
The Sync App will use the Veeva Vault API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the Sync App.
For example, the following queries are processed server-side:
SELECT * FROM AuditHistory WHERE DocumentId= '8' SELECT * FROM AuditHistory WHERE ObjectName = 'product__v' AND ObjectRecordId = '00P000000000601' SELECT * FROM AuditHistory WHERE DocumentId = '3258' AND StartDate = '2020-01-01T01:13:36' AND EndDate = '2020-01-06T01:3:32'
Name | Type | Description |
DocumentId | String | Identifier of the document. |
ObjectName | String | The object Name. |
ObjectRecordId | String | Identifier of the object record. |
Id [KEY] | String | Identifier of the audit record. |
Timestamp | Datetime | The time and date of the preformed action. |
UserName | String | The name of the user responsible for the preformed action. |
FullName | String | The full name of the user responsible for the preformed action. |
Action | String | The name of the action performed on the object record or on the document. |
Item | String | The type and name of the affected record or the number field value of the affected Document. |
FieldName | String | The name of the affected field. |
OldValue | String | The previous field value before the executed action. |
NewValue | String | The actual field value after the executed action. |
ObjectLabel | String | The label of the affected object. |
MigrationMode | Bool | Indicates that the object record was created using the X-VaultAPI-MigrationMode header with a specified state__v value. |
WorkflowName | String | The name of the workflow that preformed the action. |
TaskName | String | The name of the preformed workflow task. |
Verdict | String | The verdict of the workflow task action. |
Reason | String | The reason of the workflow task action verdict. |
Capacity | String | The approval capacity of the workflow that preformed the action. |
SignatureMeaning | String | The reason a signature was required for any manifested signature. |
ViewLicense | String | Returns a value of View-Based User only when the user is assigned that license type. Otherwise, returns an empty string. |
JobInstanceId | String | The Id of the Job Instance that preformed the action. |
Version | String | The version of the affected Document. |
DocumentUrl | String | The URL of the affected Document. |
EventDescription | String | Description of the action that occurred. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
StartDate | Datetime | Specify a start date to retrieve audit history. This date cannot be more than 30 days ago. IIf not stated, defaults to the vault's creation date. |
EndDate | Datetime | Specify an end date to retrieve audit history. This date cannot be more than 30 days ago. If not stated, defaults to today's date. |
Returns all relationships per each document.
DocumentId, MajorVersion and MinorVersion must be specified in order to query this view.
To find these values, you can execute the following query:
SELECT version_id FROM DocumentsAnd version_id values are of this pattern: {DocumentId}_{MajorVersion}_{MinorVersion}
SELECT * FROM DocumentRelationships WHERE SourceDocumentId = '122' AND MajorVersion = 1 AND MinorVersion = 0 SELECT * FROM DocumentRelationships WHERE SourceDocumentId = '101' AND MajorVersion = 0 AND MinorVersion = 1
Name | Type | Description |
Id [KEY] | Integer | The Id of the relationship. |
SourceDocumentId | Integer | Identifier of the source document. |
TargetDocumentId | Integer | Identifier of the target document. |
Type | String | Type of the relationship. |
CreatedDate | Datetime | The datetime of when the relationship was created. |
CreatedBy | Integer | Identifier of the user who created the relationship. |
MajorVersion | Integer | Major version of the source document. |
MinorVersion | Integer | Minor version of the source document. |
Manually retrieve assigned roles on a document and the users and groups assigned to them.
The Sync App will use the Veeva Vault API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM DocumentRoles WHERE DocumentId = '100' SELECT * FROM DocumentRoles WHERE DocumentId IN ('99', '98', '876', '873', '867', '1')It is recommended to specify DocumentId, otherwise the provider will make a request per each document, causing the execution of the query to take some time.
Name | Type | Description |
DocumentId [KEY] | String | Identifier of the document. |
Name [KEY] | String | Name of the role. |
Label | String | Label of the role. |
AssignedUsers | String | Comma-separated list of user Ids. |
AssignedGroups | String | Comma-separated list of group Ids. |
AvailableUsers | String | Comma-separated list of user Ids. |
AvailableGroups | String | Comma-separated list of group Ids. |
DefaultUsers | String | Comma-separated list of user Ids. |
DefaultGroups | String | Comma-separated list of group Ids. |
Retrieve all available user actions on specific versions of multiple documents or binders.
DocumentId, MajorVersion and MinorVersion must be specified in order to query this view.
To find these values, you can execute the following query:
SELECT version_id FROM DocumentsAnd version_id values are of this pattern: {DocumentId}_{MajorVersion}_{MinorVersion}
SELECT * FROM DocumentUserActions WHERE SourceDocumentId = '122' AND MajorVersion = 1 AND MinorVersion = 0 SELECT * FROM DocumentUserActions WHERE SourceDocumentId = '101' AND MajorVersion = 0 AND MinorVersion = 1
Name | Type | Description |
DocumentId | String | Name of the action. |
Name | String | Name of the action. |
Label | String | Label of the action. |
ActionType | String | Type of the action. |
Lifecycle | String | Name of the lifecycle. |
State | String | State before the action is initialized. |
MajorVersion | Integer | Major version of the source document. |
MinorVersion | Integer | Minor version of the source document. |
Retrieve brief details for the available lifecycles.
The Sync App will use the Veeva Vault API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Lifecycles WHERE lifecycle = 'draft_to_effective_lifecycle_supporting__c' SELECT * FROM Lifecycles WHERE Role = 'qa__vs'
Name | Type | Description |
Lifecycle | String | Name of the lifecycle. |
Role | String | Role of the user that can use the lifecycle. |
AllowedUsers | String | Comma-separated list of names of the allowed users. |
AllowedGroups | String | Comma-separated list of names of the allowed groups. |
AllowedDefaultUsers | String | Comma-separated list of names of the default allowed users. |
AllowedDefaultGroups | String | Comma-separated list of names of the default allowed groups. |
Returns all relationships per each object. An ObjectName is required to query this view.
Name | Type | Description |
RelationshipName | String | Name of the relationship. |
RelationshipLabel | String | Label of the relationship. |
RelationshipType | String | Type of the relationship. |
Field | String | Type of the relationship. |
RelatedObjectName | String | Name of the object in the relationship. |
RelatedObjectLabel | String | Label of the object in the relationship. |
ObjectName | String | Name of the object. |
Manually retrieve assigned roles on an object record and the users and groups assigned to them.
ObjectName and RecordId must be specified in order to query this view.
Note: In this provider vault objects are exposed as views. And the keys of these views corresponds to RecordId.
Some query examples:
SELECT * FROM ObjectRoles WHERE ObjectName = 'product__v' AND RecordId = '00P000000000201' SELECT * FROM ObjectRoles WHERE ObjectName = 'activity__v' AND RecordId = '0AC000000001D27'
Name | Type | Description |
RecordId [KEY] | String | Name of the role. |
ObjectName [KEY] | String | Name of the role. |
Name | String | Name of the role. |
Users | String | Comma-separated list of user Ids. |
Groups | String | Comma-separated list of group Ids. |
AssignmentType | String | Type of the assignment. |
Returns brief details of all types an object can be.
No available server-side filters for this view.
Name | Type | Description |
Name | String | The Id of the relationship. |
Object | String | Identifier of the source document. |
Label | String | Identifier of the target document. |
Active | Boolean | Type of the relationship. |
Retrieve the workflows of an object or the workflows of an user.
ObjectName and RecordId or UserId must be specified in order to query this view.
Note: In this provider vault objects are exposed as views. And the keys of these views corresponds to RecordId here.
The Sync App will use the Veeva Vault API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the Sync App.
For example, the following queries are processed server-side:
Some query examples:
SELECT * FROM ObjectWorkflows WHERE UserId IN (SELECT id FROM Users) SELECT * FROM ObjectWorkflows WHERE UserId IN ('1069977', '115731') SELECT * FROM ObjectWorkflows WHERE UserId = '1069977' SELECT * FROM ObjectWorkflows WHERE UserId = '349101' AND Status = 'completed__v' SELECT * FROM ObjectWorkflows WHERE ObjectName = 'product__v' AND RecordId = '00P000000000201'
Name | Type | Description |
Id [KEY] | String | Identifier of the workflow. |
Label | String | Label of the workflow. |
Status | String | Status of the workflow. |
Initiator | String | Identifier of the user who initiated the workflow. |
StartedDate | Datetime | Datetime when the workflow started. |
DueDate | Datetime | Datetime when the workflow is due. |
CompletedDate | Datetime | Datetime when the workflow was completed. |
RecordId | String | Identifier of the record of the object. |
ObjectName | String | Name of the object. Required if UserId not specified. |
UserId | String | Identifier of the user. Required if ObjectName not specified. |
Retrieve the workflows of an object or the workflows of an user.
ObjectName and RecordId or AssigneeId must be specified in order to query this view.
Note: In this provider vault objects are exposed as views. And the keys of these views corresponds to RecordId.
The Sync App will use the Veeva Vault API to process WHERE clause conditions built with the following columns and operators. The rest of the filter is executed client-side within the Sync App.
For example, the following queries are processed server-side:
Some query examples:
SELECT * FROM ObjectWorkflowTasks WHERE AssigneeId IN (SELECT id FROM Users) SELECT * FROM ObjectWorkflowTasks WHERE AssigneeId IN ('1069977', '115731') SELECT * FROM ObjectWorkflowTasks WHERE AssigneeId = '1069977' SELECT * FROM ObjectWorkflowTasks WHERE AssigneeId = '349101' AND Status = 'completed__v' SELECT * FROM ObjectWorkflowTasks WHERE ObjectName = 'product__v' AND RecordId = '00P000000000201'
Name | Type | Description |
Id [KEY] | String | Identifier of the workflow task. |
WorkflowId | String | Identifier of the workflow the task is in. |
Label | String | Label of the workflow task. |
Status | String | Status of the workflow task. |
Instructions | String | Instructions to follow. |
CreatedDate | Datetime | Datetime when the task was created. |
DueDate | Datetime | Datetime when the task is due. |
AssignedDate | Datetime | Datetime when the task was assigned. |
RecordId | String | Identifier of the record of the object. |
ObjectName | String | Name of the object. Required if UserId not specified. |
AssigneeId | String | Identifier of the user. Required if ObjectName not specified. |
プロパティ | 説明 |
AuthScheme | The scheme used for authentication. Accepted entries are Basic and AzureADOpenID. |
URL | The host you see in the Url after you log in in Veeva Vault. |
User | 認証で使用されるVeeva Vault ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
OpenIDConnectProfileID | The ID of your OAuth2.0 / Open ID Connect profile. |
プロパティ | 説明 |
APIVersion | The version of the Veeva Vault API used. |
プロパティ | 説明 |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
プロパティ | 説明 |
ColumnNamesLocale | Configure the language of the column names. Works only on the views that represent Vault Objects. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | Veeva Vault から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
QueryPassthrough | Whether or not the provider will pass the query to Veeva Vault as-is. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UseDisplayNames | If set to false, the provider will use api names for some operations. |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UseSimpleNames | テーブルとカラムに簡略名を使用するかどうかを決定するboolean。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
AuthScheme | The scheme used for authentication. Accepted entries are Basic and AzureADOpenID. |
URL | The host you see in the Url after you log in in Veeva Vault. |
User | 認証で使用されるVeeva Vault ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
OpenIDConnectProfileID | The ID of your OAuth2.0 / Open ID Connect profile. |
The scheme used for authentication. Accepted entries are Basic and AzureADOpenID.
The host you see in the Url after you log in in Veeva Vault.
The host you see in the Url after you log in in Veeva Vault.
The ID of your OAuth2.0 / Open ID Connect profile.
The ID of your OAuth2.0 / Open ID Connect profile. This connection property is required only when using the AzureADOpenID AuthScheme.
このセクションでは、本プロバイダーの接続文字列で設定可能なConnection プロパティの全リストを提供します。
プロパティ | 説明 |
APIVersion | The version of the Veeva Vault API used. |
The version of the Veeva Vault API used.
The Veeva Vault API version used by default is '21.1'.
このセクションでは、本プロバイダーの接続文字列で設定可能なAzure Authentication プロパティの全リストを提供します。
プロパティ | 説明 |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。
データにアクセスするために使用されるMicrosoft Online テナント。例えば、contoso.onmicrosoft.com です。あるいは、 テナントId を指定します。この値は[Azure ポータル]->[Azure Active Directory]->[プロパティ]のディレクトリId です。
通常、Tenant を指定する必要はありません。OAuthGrantType をCODE(デフォルト)に設定している場合は、Microsoft が自動的に決定します。 ただし、ユーザーがマルチテナントに所属している場合は失敗する可能性があります。 例えば、ドメインA の管理者がドメインB のユーザーをゲストユーザーとして招待した場合。ユーザーは両方のテナントに属していることになります。 Tenant を指定するのはグッドプラクティスですが、一般的には指定しなくてもうまく動作するはずです。
OAuthGrantType をCLIENT に設定する場合は、AzureTenant が必須です。クライアント資格情報を使用する場合、ユーザーコンテキストはありません。 資格情報は、アプリ自体のコンテキストから取得されます。Microsoft ではTenant を指定せずにクライアント資格情報を取得することを許容していますが、使用する特定のテナントを選択する可能性ははるかに低くなっています。 このため、接続するドメインに適用される資格情報を確実に取得するために、すべてのクライアント資格情報接続に対してAzureTenant を明示的に指定する必要があります。
データにアクセスするために使用されるMicrosoft Online テナント。例えば、contoso.onmicrosoft.com です。あるいは、 テナントId を指定します。この値は[Azure ポータル]->[Azure Active Directory]->[プロパティ]のディレクトリId です。
通常、Tenant を指定する必要はありません。OAuthGrantType をCODE(デフォルト)に設定している場合は、Microsoft が自動的に決定します。 ただし、ユーザーがマルチテナントに所属している場合は失敗する可能性があります。 例えば、ドメインA の管理者がドメインB のユーザーをゲストユーザーとして招待した場合。ユーザーは両方のテナントに属していることになります。 Tenant を指定するのはグッドプラクティスですが、一般的には指定しなくてもうまく動作するはずです。
OAuthGrantType をCLIENT に設定する場合は、AzureTenant が必須です。クライアント資格情報を使用する場合、ユーザーコンテキストはありません。 資格情報は、アプリ自体のコンテキストから取得されます。Microsoft ではTenant を指定せずにクライアント資格情報を取得することを許容していますが、使用する特定のテナントを選択する可能性ははるかに低くなっています。 このため、接続するドメインに適用される資格情報を確実に取得するために、すべてのクライアント資格情報接続に対してAzureTenant を明示的に指定する必要があります。
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
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 |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Sync App はVeeva Vault への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\VeevaVault Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
ColumnNamesLocale | Configure the language of the column names. Works only on the views that represent Vault Objects. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | Veeva Vault から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
QueryPassthrough | Whether or not the provider will pass the query to Veeva Vault as-is. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UseDisplayNames | If set to false, the provider will use api names for some operations. |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UseSimpleNames | テーブルとカラムに簡略名を使用するかどうかを決定するboolean。 |
Configure the language of the column names. Works only on the views that represent Vault Objects.
For the views that represent Vault Objects, use this property to configure the language of the column names. For example, ColumnNamesLocale=de will return the column names in German. Note, if you are using QueryPassThrough, this property won't work.
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
Veeva Vault から返されるページあたりの結果の最大数。
Pagesize プロパティは、Veeva Vault から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
Whether or not the provider will pass the query to Veeva Vault as-is.
Whether or not the Sync App will pass the query to Veeva Vault as-is. These queries should use proper VQL syntax.
Veeva Vault supports a set of queries that are not specified in the regular SQL-92 standard; to execute these queries simply set QueryPassthrough to true. This will pass the query directly to Veeva Vault without parsing it internally.
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
If set to false, the provider will use api names for some operations.
If set to false, the Sync App will use api names for some operations. This property is used for custom modules: The API name for custom modules is different from a custom module name in the Veeva Vault UI. For example, if you create a Potentials custom module in Veeva Vault, the Sync App will make the underlying requests to the API name; for example, CustomModule_1.
Set this property to false to use the api name in SQL queries.
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM Documents WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"
テーブルとカラムに簡略名を使用するかどうかを決定するboolean。
Veeva Vault テーブルおよびカラムでは、 通常のデータベースでは使うことが認められていない特殊記号・文字を名前に使うことができます。UseSimpleNames を使用すると、Sync App を従来のデータベースツールでより簡単に使用できるようになります。
UseSimpleNames をtrue に設定し、返されるテーブル名およびカラム名をシンプルにします。表示されるテーブル名 およびカラム名においてアルファベット文字およびアンダースコアのみを有効とするネーミングスキームを強制します。 英数字以外の文字はすべて、アンダースコアに変換されます。