CData Sync App は、OData データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
OData コネクタはCData Sync アプリケーションから使用可能で、OData からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App は、OData 2.0、3.0、および 4.0サービスの読み取りと書き込みが可能な標準のOData コンシューマーです。HTTP Basic、Digest、NTLM などの主要な認証スキーマに加え、SSL/TLS にも対応しています。Sync App はまた、OAuth 認証規格を使用するデータソースへの接続を容易にします。
必須プロパティについては、設定タブを参照してください。
通常必須ではない接続プロパティについては、高度な設定タブを参照してください。
HTTP で認証する場合は、次の表に従ってAuthScheme を設定します。
Scheme | AuthScheme | その他の設定 |
None | None | 認証を必要としない場合に使用。 |
Basic | Basic | User、Password |
NTLM(1) | NTLM | User、Password |
Digest(サポートされている場合) | Digest | User、Password |
(1) NTLM は、Windows ユーザー資格情報を使用して、LAN でよく使用されるWindows 認証の一種です。Windows マシンから接続していない場合や、現在ログインしているユーザーアカウントを接続に使用しない場合は、User およびPassword を設定します。
Kerberos を使用してOData への認証を行うには、次のプロパティを設定します。
SharePoint Online 接続は、SharePoint Online cookie を取得することで確立できます。認証するには、次のプロパティを設定します。
以下のサブセクションでは、3つの一般的な認証フローでのOData への認証について詳しく説明します。カスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。 OData で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。
OAuth アクセストークンの自動リフレッシュ:
Sync App がOAuth アクセストークンを自動的にリフレッシュするようにするには:
OAuth アクセストークンの手動リフレッシュ:
OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。
OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
CData Sync App は、自動的に内部で既知のAzure URL を処理するので、OAuthAccessTokenURL、OAuthAuthorizationURL、OAuthRefreshTokenURL、OAuthRequestTokenURL のような通常のOAuth 接続プロパティを指定する必要は ありません。
この接続メソッドには、以下のような他の接続プロパティが必要な場合があります。
それ以外の認証手順は、前述のデスクトップ認証、Web 認証、ヘッドレスマシン認証の説明と同じです。
Azure AD で使用するカスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Kerberos でOData への認証を行うには、AuthScheme をNEGOTIATE に設定します。
Kerberos 経由でOData への認証を行うには、認証プロパティを定義し、Kerberos が認証チケットを取得する方法を選択する必要があります。
Sync App は、 KRB5CCNAME および / またはKerberosKeytabFile 変数が存在するかどうかに応じて、必要なKerberos チケットを取得する3 つの方法を提供します。
MIT Kerberos 資格情報キャッシュファイル
このオプションを使用すると、MIT Kerberos チケットマネージャーまたはkinit コマンドを使ってチケットを取得できます。このオプションでは、User またはPassword 接続プロパティを設定する必要はありません。
このオプションは、KRB5CCNAME がシステムに作成されている必要があります。
MIT Kerberos 資格情報キャッシュファイル経由でチケット検索を有効にするには:
チケットの取得に成功すると、チケット情報がKerberos チケットマネージャーに表示され、クレデンシャルキャッシュファイルに保存されます。
Sync App はキャッシュファイルを使用してOData に接続するためのKerberos チケットを取得します。
Note: KRB5CCNAME を編集したくない場合は、KerberosTicketCache プロパティを使用してファイルパスを手動で設定することができます。この設定後に、Sync App は指定されたキャッシュファイルを使用してOData に接続するためのKerberos チケットを取得します。
Keytab ファイル
お使いの環境にKRB5CCNAME 環境変数がない場合、Keytab ファイルを使用してKerberos チケットを取得できます。
この方法を使用するには、User プロパティを目的のユーザー名に設定し、KerberosKeytabFile プロパティをユーザーに関連付けられたキータブファイルを指すファイルパスに設定します。
User およびPassword
お使いの環境にKRB5CCNAME 環境変数およびKerberosKeytabFile プロパティが設定されていない場合、ユーザーとパスワードの組み合わせを使用してチケットを取得できます。
この方法を使用するには、User およびPassword プロパティを、OData での認証に使用するユーザー / パスワードの組み合わせに設定します。
このようなクロスレルム認証を有効にするには、KerberosRealm およびKerberosKDC プロパティをユーザー認証に必要な値に設定します。また、KerberosServiceRealm およびKerberosServiceKDC プロパティを、 サービスチケットの取得に必要な値に設定します。
次のプロパティは、非標準的なAPI と連携する際、またはより高度なOData 機能にアクセスする際に役立つ詳細な設定を実現します。
このプロパティが設定されていない場合、エラーを避けるためにUrl をサービスドキュメントに設定する必要があります。
このプロパティが設定されている場合、実行の停止を避けるためにエラーは一時テーブル内に返されます。
次のプロパティを設定して、Sync App がOData API をデータベースとしてモデル化する方法を設定します。
このセクションでは、OData Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、OData にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
OData Sync App はクライアント証明書の設定もサポートしています。次を設定すれば、クライアント証明書を使って接続できます。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Sync App は、OData エンティティをリレーショナルテーブル、ビュー、およびストアドプロシージャにモデル化します。テーブル定義は、接続先のOData サービスから動的に取得されます。メタデータのあらゆる変更(カラムの追加や削除、データ型の変更など)は、再接続によってロードされます。
Sync App は、サービスメタデータドキュメントで記述された書き込み可能なエンティティセットおよびシングルトンを双方向テーブル としてモデル化します。
いくつかのOData エンティティは、ナビゲーションプロパティ 経由でのみアクセス可能です。デフォルトでは、Sync App はナビゲーションプロパティを別々のビューとしてモデル化します。この動作はNavigationPropertiesAsViews で無効にできます。 ナビゲーションプロパティのクエリについて詳しくは、ビュー を参照してください。
Stored Procedures は、データソースのファンクションライクなインターフェースです。これらを使用して、データソース内の情報を検索、更新、および変更できます。
The Sync App exposes tables for every entity set and singleton defined on the OData service document. Entities on these tables may be inserted, updated, or deleted using standard SQL insert, update, or delete statements.
The Sync App supports OData deep inserts, in which you simultaneously create a base entity and link it to related entities, by specifying navigation properties. To specify ナビゲーションプロパティ for an entity, you may either submit JSON / XML data, or you may create a temporary table for the navigation property and then reference the temporary table in the insert to the base table. Sumit the XML / JSON or reference the temporary table in the appropriate navigation property column on the base table. Each navigation property column is prefixed with the word "Linked".
To submit XML or JSON data, simply supply the values for the table the navigation property is referencing in XML or JSON format. If you are familiar with the OData standard, you should not be submitting values in the standard. The XML / JSON used here is simply a means of supplying multiple values ot the CData Sync App.
For example, consider the Orders table in Northwind odata.org test service. To create a new Order, you specify the Products ordered, Customer, Employee, and Shipper. To do so, you need to specify the Customer, Order_Details, Shipper, and Employee navigation properties.
<Row>
<CustomerID>VINET</CustomerID>
<CompanyName>Vins et alcools Chevalier</CompanyName>
<ContactName>Paul Henriot</ContactName>
<ContactTitle>Accounting Manager</ContactTitle>
<Address>59 rue de l'Abbaye</Address>
<City>Reims</City>
<PostalCode>51100</PostalCode>
<Country>France</Country>
<Phone>26.47.15.10</Phone>
<Fax>26.47.15.11</Fax>
</Row>
[ { "ProductID": 72, "UnitPrice": 34.80, "Quantity": 5, "Discount": 0 }, { "ProductID": 42, "ProductID": 9.80, "ProductID": 10, "ProductID": 0 } ]
<Row>
<EmployeeID>5</EmployeeID>
</Row>
[ { "ShipperID": 3 } ]
In order to execute the insert, simply reference or include as string literals the complete XML / JSON. For example:
INSERT INTO Orders (CustomerID, EmployeeID, ShipVia, ShipName, ShipAddress, ShipCity, ShipPostalCode, ShipCountry, OrderDate, LinkedOrder_Details, LinkedCustomer, LinkedEmployee, LinkedShipper) VALUES ('VINET', 5, 3, 'Paul Henriot', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '07/04/1996', '{ ... }', '<Row>...</Row>', ?, ?)
If using temporary tables, they must be defined and inserted within the same connection. Closing the connection will clear out any temporary tables in memory. Keeping with the Northwind example, you need to specify the following navigation properties.
Insert the related entities into temporary tables that correspond to each navigation property. You can specify an existing entity's primary key or you can insert a new entity.
INSERT INTO Customers#TEMP (CustomerID, CompanyName, ContactName, ContactTitle, Address, City, PostalCode, Country, Phone, Fax)
VALUES ('VINET', 'Vins et alcools Chevalier', 'Paul Henriot', 'Accounting Manager', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '26.47.15.10', '26.47.15.11')
INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (72, 34.80, 5, 0)
INSERT INTO Order_Details#TEMP (ProductID, UnitPrice, Quantity, Discount) VALUES (42, 9.80, 10, 0)
INSERT INTO Employees#TEMP (EmployeeID)
VALUES (5)
INSERT INTO Shippers#TEMP (ShipperID) VALUES (3)
The CData Sync App will assume that the Shipper and Employee already exist and will only link to the existing references since only the primary keys were specified for either. When more than just the primary key is defined, such as the examples for Customer and Order_Details, the CData Sync App will attempt to create new entries - triggering the deep insert.
In the INSERT statement for the base entity, reference the temporary tables in the LinkedOrder_Details, LinkedCustomer, LinkedEmployee, and LinkedShipper columns:
INSERT INTO Orders (CustomerID, EmployeeID, ShipVia, ShipName, ShipAddress, ShipCity, ShipPostalCode, ShipCountry, OrderDate, LinkedOrder_Details, LinkedCustomer, LinkedEmployee, LinkedShipper) VALUES ('VINET', 5, 3, 'Paul Henriot', '59 rue de l''Abbaye', 'Reims', '51100', 'France', '07/04/1996', 'Order_Details#TEMP', 'Customers#TEMP', 'Employees#TEMP', 'Shippers#TEMP')
By default, the Sync App models ナビゲーションプロパティ as separate views. The views are named in the format ParentTable_NavigationProperty. You can disable this behavior with NavigationPropertiesAsViews.
For an example of working with a navigation property as a view, consider the Northwind sample service from odata.org. In this service, the Categories entity set has a Products navigation property. The CData Sync App will display a view called Categories_Products for this service. Retrieving data from Categories_Products will display all of the Products associated with a given Category. The Categories_Products view has a primary key made up of the Id of the parent entity and the Id of the related entity.
Support for navigation properties is limited in some OData services. See NavigationPropertiesAsViews and SupportsExpand for more information on API restrictions when querying navigation properties.
Sync App は、データソースの型を、スキーマで使用可能な対応するデータ型にマッピングします。以下のテーブルはこれらのマッピングを説明します。
OData V2 | OData V3 | OData V4 | CData スキーマ |
Edm.Binary | Edm.Binary | Edm.Binary | binary |
Edm.Boolean | Edm.Boolean | Edm.Boolean | bool |
Edm.DateTime | Edm.DateTime | Edm.DateTimeOffset | datetime |
Edm.Decimal | Edm.Decimal | Edm.Decimal | decimal |
Edm.Double | Edm.Double | Edm.Double | double |
Edm.Guid | Edm.Guid | Edm.Guid | guid |
Edm.Int16 | Edm.Int16 | Edm.Int16 | int |
Edm.Int32 | Edm.Int32 | Edm.Int32 | int |
Edm.Int64 | Edm.Int64 | Edm.Int64 | bigint |
Edm.String | Edm.String | Edm.String | string |
Edm.Time | Edm.Time | Edm.TimeOfDay | time |
プロパティ | 説明 |
URL | URL to the Organization root or the OData services file. For example, http://MySite/MyOrganization. |
AuthScheme | 認証で使用されるスキーム。NTLM、BASIC、DIGEST、NONE、NEGOTIATE、およびSHAREPOINTONLINE が利用可能です。 |
User | 認証で使用されるOData ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
FeedURL | URL to the OData entity set. For example, http://MySite/MyOrganization/EntitySet. |
SharePointUseSSO | Whether or not to use single sign-on (SSO) to authenticate to SharePoint Online. |
プロパティ | 説明 |
AzureADTenant | The Azure Active Directory tenant to authenticate against (only used with Azure AD OAuth). |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
AzureResource | 認証するAzure Active リソース(Azure OAuth 交換時に使用されます)。 |
プロパティ | 説明 |
SharePointSSODomain | The domain of the user when using single sign-on (SSO). |
プロパティ | 説明 |
InitiateOAuth | 接続時にOAuth アクセストークンを取得またはリフレッシュするプロセスを開始するには、このプロパティを設定します。 |
OAuthVersion | 使われているOAuth のバージョン。 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuthAccessToken | OAuth を使用して接続するためのアクセストークン。 |
OAuthAccessTokenSecret | OAuth を使用して接続するためのアクセストークンのトークン シークレット。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthIncludeCallbackURL | アクセストークンリクエストにコールバックURL を含めるかどうか。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
OAuthRequestTokenURL | サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
OAuthParams | OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。 |
プロパティ | 説明 |
KerberosKDC | ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。 |
KerberosRealm | ユーザー認証に使用されるKerberos 領域。 |
KerberosSPN | Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。 |
KerberosKeytabFile | Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。 |
KerberosServiceRealm | サービスのKerberos レルム。 |
KerberosServiceKDC | サービスのKerberos KDC。 |
KerberosTicketCache | MIT Kerberos 資格情報キャッシュファイルへのフルパス。 |
プロパティ | 説明 |
SSLClientCert | SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。 |
SSLClientCertType | TLS/SSL クライアント証明書を格納するキーストアの種類。 |
SSLClientCertPassword | TLS/SSL クライアント証明書のパスワード。 |
SSLClientCertSubject | TLS/SSL クライアント証明書のサブジェクト。 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。 |
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 です。 |
プロパティ | 説明 |
ContinueOnError | バッチリクエストのエラー後に処理を続行するかどうか。 |
Cookies | Allows cookies to be manually specified in name=value pairs separated by a semicolon. |
CustomHeaders | ユーザーが決定したその他のヘッダー(オプション)。 |
CustomUrlParams | リクエストに含めるカスタムクエリ文字列。 |
DataFormat | The data format to retrieve data in. Select either ATOM or JSON. |
EnableAtomicBatchOperations | Whether or not the CData ADO.NET Provider for OData should use atomic batch operations. |
ExpandAsterisk | Indicates whether the asterisk should be expanded in the $select query parameter. |
IncludeNavigationParentColumns | Indicates if navigation parent columns should be included on navigation views. |
IncludeReferenceColumn | Adds a input only ParentReference column for bulk INSERTs to properly associate children during a deep insert with the same parent. |
MaxFilterLength | The maximum number of characters for the $filter query parameter. |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
MaxSelectLength | The maximum number of characters for the $Select query parameter. |
NavigationPropertiesAsViews | A boolean indicating navigation properties should be promoted to full views. |
ODataVersion | 使用するODataのバージョン。デフォルトでは、providerはバージョンを自動検出しようとします。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | OData から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
ServerTimeZone | The timezone by which the server's Edm.DateTime values are represented. The value of this property will affect how Edm.DateTime filters and results are converted between the server and the client machine. |
StoredProceduresAsViews | A boolean indicating if we should list stored procedures which return a collection of entities as views. |
SupportsExpand | Whether you need to specify the base entity's key to query navigation property views. |
SupportsFilter | Set this to true if your OData service supports filters. |
SupportsFormulas | A boolean indicating if the odata service supports server side formulas. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UseClientSidePaging | CData ADO.NET Provider for OData がクライアントサイドのページングを使用するかどうか。 |
UseEtags | ODataソースがEtagsを使用するかどうか。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UseSimpleNames | テーブルとカラムに簡略名を使用するかどうかを決定するboolean。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
URL | URL to the Organization root or the OData services file. For example, http://MySite/MyOrganization. |
AuthScheme | 認証で使用されるスキーム。NTLM、BASIC、DIGEST、NONE、NEGOTIATE、およびSHAREPOINTONLINE が利用可能です。 |
User | 認証で使用されるOData ユーザーアカウント。 |
Password | ユーザーの認証で使用されるパスワード。 |
FeedURL | URL to the OData entity set. For example, http://MySite/MyOrganization/EntitySet. |
SharePointUseSSO | Whether or not to use single sign-on (SSO) to authenticate to SharePoint Online. |
URL to the Organization root or the OData services file. For example, http://MySite/MyOrganization.
URL to the Organization root or the OData services file. For example, http://MySite/MyOrganization.
認証で使用されるスキーム。NTLM、BASIC、DIGEST、NONE、NEGOTIATE、およびSHAREPOINTONLINE が利用可能です。
このフィールドは、Password およびUser とともに、OData サーバーに対して認証をするために使われます。デフォルト値はNONE です。
URL to the OData entity set. For example, http://MySite/MyOrganization/EntitySet.
URL to the OData entity set. For example, http://MySite/MyOrganization/EntitySet. You can use this property when the OData service does not have a root document.
このセクションでは、本プロバイダーの接続文字列で設定可能なAzure Authentication プロパティの全リストを提供します。
プロパティ | 説明 |
AzureADTenant | The Azure Active Directory tenant to authenticate against (only used with Azure AD OAuth). |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
AzureResource | 認証するAzure Active リソース(Azure OAuth 交換時に使用されます)。 |
The Azure Active Directory tenant to authenticate against (only used with Azure AD OAuth).
The tenant must be specified if using Azure Active Directory OAuth. The tenant is used to control who can sign into the application. This should be the name of the tenant such as xxx.onmicrosoft.com, the id such as 8eaef023-2b34-4da1-9baa-8bc8c9d6a490, contoso.onmicrosoft.com, or the word common.
データにアクセスするために使用される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 を明示的に指定する必要があります。
認証するAzure Active リソース(Azure OAuth 交換時に使用されます)。
Azure OAuth を使用する場合は、リソースを指定する必要があります。 Web API(セキュアリソース)のApp Id URI に設定されなければなりません。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSO プロパティの全リストを提供します。
プロパティ | 説明 |
SharePointSSODomain | The domain of the user when using single sign-on (SSO). |
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
InitiateOAuth | 接続時にOAuth アクセストークンを取得またはリフレッシュするプロセスを開始するには、このプロパティを設定します。 |
OAuthVersion | 使われているOAuth のバージョン。 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuthAccessToken | OAuth を使用して接続するためのアクセストークン。 |
OAuthAccessTokenSecret | OAuth を使用して接続するためのアクセストークンのトークン シークレット。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthIncludeCallbackURL | アクセストークンリクエストにコールバックURL を含めるかどうか。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
OAuthRequestTokenURL | サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
OAuthParams | OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。 |
接続時にOAuth アクセストークンを取得またはリフレッシュするプロセスを開始するには、このプロパティを設定します。
次のオプションが利用可能です。
使われているOAuth のバージョン。
使われているOAuth のバージョン。次のオプションが利用可能です:1.0,2.0
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
OAuth を使用して接続するためのアクセストークン。
OAuth を使用して接続するには、OAuthAccessToken プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessToken が取得されます。このプロパティは、サーバーに依存するタイムアウトがあり、要求の間で再利用することができます。
アクセストークンは、ユーザー名とパスワードの代わりに使用されます。サーバー上で維持することで、認証情報が保護されます。
OAuth を使用して接続するためのアクセストークンのトークン シークレット。
OAuth を使用して接続および認証するには、OAuthAccessTokenSecret プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessTokenSecret が取得されます。取得されたトークンシークレットは OAuthAccessToken と一緒に使用され、タイムアウトするまで複数の要求のために使用されます。
OAuth フローのグラント種別。
次のオプションが利用可能です:CODE,CLIENT,PASSWORD
OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。
OAuth RFC では、Password OAuthGrantType を使用する際にOAuthClientId とOAuthClientSecret を渡す2つの方法を指定します。 最も一般的な方法は、post データを介してサービスに渡す方法です。しかし、一部のサービスでは、BASIC 認証で使用するためにAuthorize ヘッダーを介して渡すことを要求する場合があります。 このプロパティをBasic に変更すると、パラメータをpost データではなくAuthorize ヘッダーの一部として送信します。
アクセストークンリクエストにコールバックURL を含めるかどうか。
デフォルトではtrue です。 標準に準拠したOAuth サービスでは、redirect_uri パラメータを必要としないCLIENT やPASSWORD などのグラント種別では、 redirect_uri パラメータを無視するからです。
このオプションは、redirect_uri が含まれる場合にエラーを報告するOAuth サービスに対してのみ有効にしてください。
OAuth サービスの認可URL。
OAuth サービスの認可URL。このURL でユーザーはサーバーにログインしてアプリケーションにアクセス許可を与えます。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
OAuth アクセストークンを取得するURL。
OAuth アクセストークンを取得するURL。OAuth 1.0 では、このURL で認可されたリクエストトークンがアクセストークンと交換されます。
OAuth トークンをリフレッシュするURL。
OAuth トークンをリフレッシュするURL。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。
サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。
サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。OAuth 1.0 では、これがアプリケーションがリクエストトークンをリクエストするURL です。
OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthKey とともに指定して、OAuthAccessToken を取得できます。
OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthToken とともに指定して、OAuthAccessToken を取得できます。
OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。
OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。
このセクションでは、本プロバイダーの接続文字列で設定可能なKerberos プロパティの全リストを提供します。
プロパティ | 説明 |
KerberosKDC | ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。 |
KerberosRealm | ユーザー認証に使用されるKerberos 領域。 |
KerberosSPN | Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。 |
KerberosKeytabFile | Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。 |
KerberosServiceRealm | サービスのKerberos レルム。 |
KerberosServiceKDC | サービスのKerberos KDC。 |
KerberosTicketCache | MIT Kerberos 資格情報キャッシュファイルへのフルパス。 |
ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。
Kerberos のプロパティは、SPNEGO またはWindows 認証を使用する場合に使用されます。Sync App は、Kerberos KDC サービスにセッションチケットと一時セッションキーを要求します。Kerberos KDC サービスは、通常、ドメインコントローラーと同じコンピュータに置かれています。
Kerberos KDC が指定されていない場合、Sync App は、これらのプロパティを自動的に次の場所から検出しようとします。
ユーザー認証に使用されるKerberos 領域。
Kerberos のプロパティは、SPNEGO またはWindows 認証を使用する場合に使用されます。Kerberos 領域は、Kerberos キー配布センター(KDC)サービスを使用してユーザーを認証するために使用されます。Kerberos 領域は、管理者が任意の文字列に設定できますが、通常はドメイン名に基づいて設定されます。
Kerberos 領域が指定されていない場合、Sync App は、これらのプロパティを自動的に次の場所から検出しようとします。
Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。
Kerberos ドメインコントローラーのSPN が認証先のURL と異なる場合は、このプロパティを使用してSPN を設定します。
Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。
Kerberos のプリンシパルと暗号化されたキーのペアを含むKeytab ファイル。
サービスのKerberos レルム。
KerberosServiceRealm は、クロスレルムKerberos 認証を使用するときにサービスKerberos レルムを指定するために使われます。
ほとんどの場合、単一のレルムとKDC マシンがKerberos 認証を実行するために使用され、このプロパティは必要ありません。
このプロパティは、異なるレルムとKDC マシンを使用して認証チケット(AS リクエスト)およびサービスチケット(TGS リクエスト)を取得する、より複雑な設定で使用できます。
サービスのKerberos KDC。
KerberosServiceKDC は、クロスレルムKerberos 認証を使用するときにサービスKerberos KDC を指定するために使われます。
ほとんどの場合、単一のレルムとKDC マシンがKerberos 認証を実行するために使用され、このプロパティは必要ありません。
このプロパティは、異なるレルムとKDC マシンを使用して認証チケット(AS リクエスト)およびサービスチケット(TGS リクエスト)を取得する、より複雑な設定で使用できます。
MIT Kerberos 資格情報キャッシュファイルへのフルパス。
このプロパティは、MIT Kerberos チケットマネージャーまたはkinit コマンドを使用して作成された資格情報キャッシュファイルを使用する場合に設定できます。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLClientCert | SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。 |
SSLClientCertType | TLS/SSL クライアント証明書を格納するキーストアの種類。 |
SSLClientCertPassword | TLS/SSL クライアント証明書のパスワード。 |
SSLClientCertSubject | TLS/SSL クライアント証明書のサブジェクト。 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。
クライアント証明書のための証明書ストア名。
SSLClientCertType フィールドは、SSLClientCert により指定された証明書ストアの種類を指定します。ストアがパスワードで保護されている場合は、SSLClientCertPassword でパスワードを指定します。
SSLClientCert は、SSLClientCertSubject フィールドとともにクライアント証明書を指定するために使われます。SSLClientCert に値がある場合で、SSLClientCertSubject が設定されている場合は、証明書の検索が始まります。詳しくは、SSLClientCertSubject を参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
CA | 証明機関の証明書。 |
ROOT | ルート証明書。 |
SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
TLS/SSL クライアント証明書を格納するキーストアの種類。
このプロパティには次の値の一つを設定できます。
USER - デフォルト | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。この種類はJava では利用できませんので注意してください。 |
MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。この種類はJava では利用できませんので注意してください。 |
PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。この種類はJava でのみ利用できますので注意してください。 |
JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。この種類は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 形式の証明書を含む文字列の名前です。 |
TLS/SSL クライアント証明書のパスワード。
証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。
TLS/SSL クライアント証明書のサブジェクト。
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。例えば、"CN=www.server.com, OU=test, C=US, [email protected]" です。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
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 はOData への接続を開き、プロキシを経由して通信が行われます。 |
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 | これは、システムプロキシ設定を使用するかどうかを示します。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するには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\\OData Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
Platform | %APPDATA% |
Windows | APPDATA 環境変数の値 |
Linux | ~/.config |
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、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 プロパティの全リストを提供します。
プロパティ | 説明 |
ContinueOnError | バッチリクエストのエラー後に処理を続行するかどうか。 |
Cookies | Allows cookies to be manually specified in name=value pairs separated by a semicolon. |
CustomHeaders | ユーザーが決定したその他のヘッダー(オプション)。 |
CustomUrlParams | リクエストに含めるカスタムクエリ文字列。 |
DataFormat | The data format to retrieve data in. Select either ATOM or JSON. |
EnableAtomicBatchOperations | Whether or not the CData ADO.NET Provider for OData should use atomic batch operations. |
ExpandAsterisk | Indicates whether the asterisk should be expanded in the $select query parameter. |
IncludeNavigationParentColumns | Indicates if navigation parent columns should be included on navigation views. |
IncludeReferenceColumn | Adds a input only ParentReference column for bulk INSERTs to properly associate children during a deep insert with the same parent. |
MaxFilterLength | The maximum number of characters for the $filter query parameter. |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
MaxSelectLength | The maximum number of characters for the $Select query parameter. |
NavigationPropertiesAsViews | A boolean indicating navigation properties should be promoted to full views. |
ODataVersion | 使用するODataのバージョン。デフォルトでは、providerはバージョンを自動検出しようとします。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | OData から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
ServerTimeZone | The timezone by which the server's Edm.DateTime values are represented. The value of this property will affect how Edm.DateTime filters and results are converted between the server and the client machine. |
StoredProceduresAsViews | A boolean indicating if we should list stored procedures which return a collection of entities as views. |
SupportsExpand | Whether you need to specify the base entity's key to query navigation property views. |
SupportsFilter | Set this to true if your OData service supports filters. |
SupportsFormulas | A boolean indicating if the odata service supports server side formulas. |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UseClientSidePaging | CData ADO.NET Provider for OData がクライアントサイドのページングを使用するかどうか。 |
UseEtags | ODataソースがEtagsを使用するかどうか。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UseSimpleNames | テーブルとカラムに簡略名を使用するかどうかを決定するboolean。 |
バッチリクエストのエラー後に処理を続行するかどうか。
この接続プロパティはOData バージョン4.0以上のサーバーでのみサポートされています。 しかし、各サーバーはこの設定を無視することを選択できます。ContinueOnError をtrue に設定すると、バッチリクエストが試みられたときに、リクエストを投げる代わりにテンポラリテーブルに例外を返します。
Allows cookies to be manually specified in name=value pairs separated by a semicolon.
In general it should not be required to set this property. However, there are many different flavors of OData services. If your solution requires cookies that are obtained outside of the CData Sync App, they can be manually specified here. Specify cookies in name=value pairs separated by a semicolon. For instance: Cookie1=value;Cookie2=value2.
ユーザーが決定したその他のヘッダー(オプション)。
このプロパティは、他のプロパティ(ContentType、From など)から作成されたHTTP リクエストヘッダーに追加するヘッダーの文字列に設定できます。
ヘッダーは、HTTP の仕様で説明されているとおり、"header: value" 形式でなければなりません。ヘッダー行はキャリッジリターンと改行(CRLF)文字で区切る必要があります。
このプロパティは慎重に使用してください。このプロパティに無効なヘッダーが含まれていると、HTTP リクエストは失敗する場合があります。
このプロパティは、専門的/非標準的なAPI と統合するためにSync App の機能を微調整する場合に便利です。
リクエストに含めるカスタムクエリ文字列。
CustomUrlParams を使用すると、HTTP リクエストに含まれるカスタムクエリ文字列パラメータを指定できます。パラメータは、field1=value1&field2=value2&field3=value3 の形式で、クエリ文字列としてエンコードする必要があります。クエリ文字列の値はURL エンコードされている必要があります。
The data format to retrieve data in. Select either ATOM or JSON.
Note that not all data sources support JSON. Other IANA content types are not supported at this time. Leave blank to use the system service default. If blank, ATOM will be used when submitting data in an INSERT or update.
Whether or not the CData ADO.NET Provider for OData should use atomic batch operations.
Whether or not the CData Sync App should use atomic batch operations.
Indicates whether the asterisk should be expanded in the $select query parameter.
When ExpandAsterisk is set to true all columns will be listed in the $select query parameter.
For example:
SELECT * FROM Items
All columns will be listed in projection.
SELECT col1,col2, ... , coln FROM Items
Adds a input only ParentReference column for bulk INSERTs to properly associate children during a deep insert with the same parent.
Adds a input only ParentReference column for bulk INSERTs to properly associate children during a deep insert with the same parent.
The maximum number of characters for the $filter query parameter.
Some APIs have a limitation on the number of characters that can be included in the URL. If the set MaxFilterLength limit is reached, the filter is processed internally by the driver.
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
The maximum number of characters for the $Select query parameter.
Some APIs have a limitation on the number of characters that can be included in the URL. If the set MaxSelectLength limit is reached, all columns will be retrieved from the service and then will be filtered clientside.
使用するODataのバージョン。デフォルトでは、providerはバージョンを自動検出しようとします。
使用するODataのバージョン。デフォルトでは、Sync Appは、サービスが使用しているバージョンを自動的に特定しようとします。バージョンを解決できない場合は、3.0が使用されます。オプションで、これを手動で設定できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
OData から返されるページあたりの結果の最大数。
Pagesize プロパティは、OData から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
The timezone by which the server's Edm.DateTime values are represented. The value of this property will affect how Edm.DateTime filters and results are converted between the server and the client machine.
By default, Edm.DateTime values in the server will be assumed to be GMT. If the server is known to represent such values in a specific timezone, then the abbreviation of that timezone can be provided here (i.e. EST). From there, the driver will convert any Edm.DateTime derived filters from the installed machine's local timezone to the one specified for the server. Conversely, similar values returned by the OData server will be converted from the specified timezone to the installed machine's local timezone before being exposed in the result set.
A boolean indicating if we should list stored procedures which return a collection of entities as views.
A boolean indicating if we should list stored procedures which return a collection of entities as views.
Whether you need to specify the base entity's key to query navigation property views.
This connection property is primarily used with limited OData APIs; it determines whether navigation properties can be retrieved from the base entity set. In OData, navigation properties link a base entity to a related entity or a collection of related entitites.
For more on navigation properties, see データモデル.
In OData, the $expand parameter is used to expand specified navigation properties when requesting data from a given entity set. In SQL, this makes it possible to execute a SELECT * to a navigation property view.
If $expand is not supported, a different request must be made to retrieve a navigation property, one that specifies the primary key of the base entity set. This API restriction is reflected in SQL: You will need to specify the base entity's primary key in the WHERE clause.
For example, consider two entities with a one-to-many relationship in the Northwind sample service, Categories and Products. In OData, the Products associated with a given Category could be represented as a navigation property on the base Category entity set. The Sync App models the Products navigation property as a Categories_Products view.
If $expand is not supported, use a query like the following to this view:
SELECT * FROM Categories_Products WHERE (Categories_CategoryID = 1)
Set this to true if your OData service supports filters.
This connection property is primarily used with limited OData APIs.
If your OData service supports the $filter query parameter, set this to true. When set to true, the Sync App defers filter processing to the OData service, which has a performance benefit. If you set this property to true when your OData service does not support $filter, the Sync App returns "not supported" errors for queries containing filters.
If your OData service does not support the $filter query parameter, set this to false. When set to false, the Sync App retrieves all of requested data for a given query from the OData service before filtering it client-side. This is slower than deferring filters to the OData service, so only set this property to false if $filter is unsupported on your service.
For example, if $filter is not supported, the following criteria is handled by the driver:
SELECT * FROM Categories_Products WHERE (Categories_CategoryID = 1)
A boolean indicating if the odata service supports server side formulas.
OData has a number of server side formulas that are built into the specifications. However, many services do not natively support them and will return errors when these formulas are appended to the $filter parameter. These formulas can be used to make some queries that use them execute much faster. If your OData service supports formulas, change this connection property to true. Otherwise, leave it as false.
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
CData ADO.NET Provider for OData がクライアントサイドのページングを使用するかどうか。
いくつかのソースはサーバーサイドページングをサポートしません。このような場合は、UseClientSidePaging をtrue に設定してください。そうでない場合は、false のままにします。 すでにページングをサポートしているソースでUseClientSidePaging をtrue に設定すると、不完全な結果が生じる可能性があります。
ODataソースがEtagsを使用するかどうか。
一部のODataソースはEtagsを使用しません。このような場合は、UseEtagsをFalseに設定します。
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM Lead 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。
OData テーブルおよびカラムでは、 通常のデータベースでは使うことが認められていない特殊記号・文字を名前に使うことができます。UseSimpleNames を使用すると、Sync App を従来のデータベースツールでより簡単に使用できるようになります。
UseSimpleNames をtrue に設定し、返されるテーブル名およびカラム名をシンプルにします。表示されるテーブル名 およびカラム名においてアルファベット文字およびアンダースコアのみを有効とするネーミングスキームを強制します。 英数字以外の文字はすべて、アンダースコアに変換されます。