CData Cloud は、クラウドホスト型のソリューションで、複数の標準サービスやプロトコルにまたがるOData へのアクセスを実現します。MySQL またはSQL Server データベースに接続できるアプリケーションであれば、CData Cloud を介してOData に接続できます。
CData Cloud により、他のOData エンドポイントや標準SQL Server / MySQL データベースと同じように、OData への接続を標準化し、構成することができます。
このページでは、CData Cloud でのOData への接続の確立 のガイド、利用可能なリソースに関する情報、および使用可能な接続プロパティのリファレンスについて説明します。
接続の確立 は、CData Cloud にデータベースを作成するためのOData への認証方法と必要な接続プロパティの設定方法について示します。
利用可能な標準サービスを経由してOData からデータにアクセスする方法と、CData Cloud の管理については、CData Cloud ドキュメント で詳しく説明します。
Database タブで対応するアイコンを選択して、OData に接続します。必須プロパティはSettings にリストされています。Advanced タブには、通常は必要ない接続プロパティが表示されます。
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 アクセストークンの自動リフレッシュ:
Cloud がOAuth アクセストークンを自動的にリフレッシュするようにするには:
OAuth アクセストークンの手動リフレッシュ:
OAuth アクセストークンを手動でリフレッシュするために必要な唯一の値は、OAuth リフレッシュトークンです。
OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
CData Cloud は、自動的に内部で既知のAzure URL を処理するので、OAuthAccessTokenURL、OAuthAuthorizationURL、OAuthRefreshTokenURL、OAuthRequestTokenURL のような通常のOAuth 接続プロパティを指定する必要は ありません。
この接続メソッドには、以下のような他の接続プロパティが必要な場合があります。
それ以外の認証手順は、前述のデスクトップ認証、Web 認証、ヘッドレスマシン認証の説明と同じです。
Azure AD で使用するカスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。
デフォルトでは、Cloud はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Kerberos でOData への認証を行うには、AuthScheme をNEGOTIATE に設定します。
Kerberos 経由でOData への認証を行うには、認証プロパティを定義し、Kerberos が認証チケットを取得する方法を選択する必要があります。
Cloud は、 KRB5CCNAME および / またはKerberosKeytabFile 変数が存在するかどうかに応じて、必要なKerberos チケットを取得する3 つの方法を提供します。
MIT Kerberos 資格情報キャッシュファイル
このオプションを使用すると、MIT Kerberos チケットマネージャーまたはkinit コマンドを使ってチケットを取得できます。このオプションでは、User またはPassword 接続プロパティを設定する必要はありません。
このオプションは、KRB5CCNAME がシステムに作成されている必要があります。
MIT Kerberos 資格情報キャッシュファイル経由でチケット検索を有効にするには:
チケットの取得に成功すると、チケット情報がKerberos チケットマネージャーに表示され、クレデンシャルキャッシュファイルに保存されます。
Cloud はキャッシュファイルを使用してOData に接続するためのKerberos チケットを取得します。
Note: KRB5CCNAME を編集したくない場合は、KerberosTicketCache プロパティを使用してファイルパスを手動で設定することができます。この設定後に、Cloud は指定されたキャッシュファイルを使用してOData に接続するためのKerberos チケットを取得します。
Keytab ファイル
お使いの環境にKRB5CCNAME 環境変数がない場合、Keytab ファイルを使用してKerberos チケットを取得できます。
この方法を使用するには、User プロパティを目的のユーザー名に設定し、KerberosKeytabFile プロパティをユーザーに関連付けられたキータブファイルを指すファイルパスに設定します。
User およびPassword
お使いの環境にKRB5CCNAME 環境変数およびKerberosKeytabFile プロパティが設定されていない場合、ユーザーとパスワードの組み合わせを使用してチケットを取得できます。
この方法を使用するには、User およびPassword プロパティを、OData での認証に使用するユーザー / パスワードの組み合わせに設定します。
このようなクロスレルム認証を有効にするには、KerberosRealm およびKerberosKDC プロパティをユーザー認証に必要な値に設定します。また、KerberosServiceRealm およびKerberosServiceKDC プロパティを、 サービスチケットの取得に必要な値に設定します。
次のプロパティは、非標準的なAPI と連携する際、またはより高度なOData 機能にアクセスする際に役立つ詳細な設定を実現します。
このプロパティが設定されていない場合、エラーを避けるためにUrl をサービスドキュメントに設定する必要があります。
このプロパティが設定されている場合、実行の停止を避けるためにエラーは一時テーブル内に返されます。
次のプロパティを設定して、Cloud がOData API をデータベースとしてモデル化する方法を設定します。
デフォルトでは、Cloud はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
OData Cloud はクライアント証明書の設定もサポートしています。次を設定すれば、クライアント証明書を使って接続できます。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Cloud は、OData エンティティをリレーショナルテーブル、ビュー、およびストアドプロシージャにモデル化します。テーブル定義は、接続先のOData サービスから動的に取得されます。メタデータのあらゆる変更(カラムの追加や削除、データ型の変更など)は、再接続によってロードされます。
Cloud は、サービスメタデータドキュメントで記述された書き込み可能なエンティティセットおよびシングルトンを双方向テーブル としてモデル化します。
いくつかのOData エンティティは、ナビゲーションプロパティ 経由でのみアクセス可能です。デフォルトでは、Cloud はナビゲーションプロパティを別々のビューとしてモデル化します。この動作はNavigationPropertiesAsViews で無効にできます。 ナビゲーションプロパティのクエリについて詳しくは、ビュー を参照してください。
Stored Procedures は、データソースのファンクションライクなインターフェースです。これらを使用して、データソース内の情報を検索、更新、および変更できます。
The Cloud 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 Cloud 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 Cloud.
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 Cloud 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 Cloud 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 Cloud 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 Cloud 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.
ストアドプロシージャはファンクションライクなインターフェースで、OData の単純なSELECT/INSERT/UPDATE/DELETE 処理にとどまらずCloud の機能を拡張します。
ストアドプロシージャは、パラメータのリストを受け取り、目的の機能を実行し、プロシージャが成功したか失敗したかを示すとともにOData から関連するレスポンスデータを返します。
Name | Description |
CreateAssociation | Creates an association between two entities based on a navigation property. |
GetSAPCSRFToken | SAPに対する認証に使用されるCSRFトークンとCookieを返します。 |
ListAssociations | Lists associations for a given table and navigation property. |
ListNavigationProperties | Lists navigation properties for a given table and the tables they are associated with. Navigation properties are used by the Association stored procedures. |
RemoveAssociation | Removes an association between two entities based on a navigation property. |
Creates an association between two entities based on a navigation property.
Name | Type | Description |
FromId | String | The Id of the entity you are creating an associations for. |
UrlId | String | An alternative to specifying the FromId. This is the complete url to the resource for which the association is being created. It is required to be specified in the case that the navigation property is an abstract, or to specify more specific child types where the navigation property entity type is used as a basetype. |
FromTable | String | The table where the entity comes from that you are creating an association for. For example, if the FromId was from a table called Customers, set this parameter to: Customers. |
ToNavigationProperty | String | The navigation property you are creating an association on. It can be obtained from ListNavigationProperties. |
ToId | String | The id of the navigation entity. This will come from the table associated with the navigation property. |
ToUrlId | String | An alternative to specifying the ToId. This is the complete url to the resource to be associated. It is required to be specified in the case that the navigation property is an abstract, or to specify more specific child types where the navigation property entity type is used as a basetype. |
HttpMethod | String | An override for the http method to use when creating the association in case the OData source being used does not follow the specifications. |
SAPに対する認証に使用されるCSRFトークンとCookieを返します。
Name | Type | Description |
URL | String | SAP ODataサービスのベースURL。 |
TokenHeader | String | SAP CSRFトークンのHTTPヘッダーの名前。
The default value is x-csrf-token. |
Name | Type | Description |
Success | String | 要求が成功したかどうか。 |
CSRFToken | String | 以降の要求のヘッダーに設定するクロスサイトリクエストフォージェリ(CSRF)トークン。 |
Cookie | String | 以降の要求のヘッダーに設定するSAP Cookie。 |
Lists associations for a given table and navigation property.
Name | Type | Description |
FromId | String | The Id of the entity you are listing associations for. |
UrlId | String | An alternative to specifying the FromId. This is the complete url to the resource you are listing the associations for. It is required to be specified in the case that the navigation property is an abstract, or to specify more specific child types where the navigation property entity type is used as a basetype. |
FromTable | String | The table where the entity comes from that you are listing entities for. For example, if the FromId was from a table called Customers, set this parameter to: Customers. |
NavigationProperty | String | The navigation property you are listing assications for. It can be obtained from ListNavigationProperties. |
Name | Type | Description |
Uri | String | The linked url. |
Removes an association between two entities based on a navigation property.
Name | Type | Description |
FromId | String | The Id of the entity you are removing an associations for. |
UrlId | String | An alternative to specifying the FromId. This is the complete url to the resource you are removing an associations for. It is required to be specified in the case that the navigation property is an abstract, or to specify more specific child types where the navigation property entity type is used as a basetype. |
FromTable | String | The table where the entity comes from that you are removing an association for. For example, if the FromId was from a table called Customers, set this parameter to: Customers. |
ToNavigationProperty | String | The navigation property you are removing an association on. It can be obtained from ListNavigationProperties. |
ToId | String | The id of the navigation entity. This will come from the table associated with the navigation property. |
ToUrlId | String | An alternative to specifying the ToId. This is the complete url to the resource to be associated. It is required to be specified in the case that the navigation property is an abstract, or to specify more specific child types where the navigation property entity type is used as a basetype. |
このセクションで説明されているシステムテーブルをクエリして、スキーマ情報、データソース機能に関する情報、およびバッチ操作の統計にアクセスできます。
以下のテーブルは、OData のデータベースメタデータを返します。
以下のテーブルは、データソースへの接続方法およびクエリ方法についての情報を返します。
次のテーブルは、データ変更クエリ(バッチ処理を含む)のクエリ統計を返します。
利用可能なデータベースをリストします。
次のクエリは、接続文字列で決定されるすべてのデータベースを取得します。
SELECT * FROM sys_catalogs
Name | Type | Description |
CatalogName | String | データベース名。 |
利用可能なスキーマをリストします。
次のクエリは、すべての利用可能なスキーマを取得します。
SELECT * FROM sys_schemas
Name | Type | Description |
CatalogName | String | データベース名。 |
SchemaName | String | スキーマ名。 |
利用可能なテーブルをリストします。
次のクエリは、利用可能なテーブルおよびビューを取得します。
SELECT * FROM sys_tables
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベース。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | テーブル名またはビュー名。 |
TableType | String | テーブルの種類(テーブルまたはビュー)。 |
Description | String | テーブルまたはビューの説明。 |
IsUpdateable | Boolean | テーブルが更新可能かどうか。 |
利用可能なテーブルおよびビューのカラムについて説明します。
次のクエリは、Lead テーブルのカラムとデータ型を返します。
SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='Lead'
Name | Type | Description |
CatalogName | String | テーブルまたはビューを含むデータベースの名前。 |
SchemaName | String | テーブルまたはビューを含むスキーマ。 |
TableName | String | カラムを含むテーブルまたはビューの名前。 |
ColumnName | String | カラム名。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | カラムのストレージサイズ。 |
DisplaySize | Int32 | 指定されたカラムの通常の最大幅(文字数)。 |
NumericPrecision | Int32 | 数値データの最大桁数。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | カラムのスケール(小数点以下の桁数)。 |
IsNullable | Boolean | カラムがNull を含められるかどうか。 |
Description | String | カラムの簡単な説明。 |
Ordinal | Int32 | カラムのシーケンスナンバー。 |
IsAutoIncrement | String | カラムに固定増分値が割り当てられるかどうか。 |
IsGeneratedColumn | String | 生成されたカラムであるかどうか。 |
IsHidden | Boolean | カラムが非表示かどうか。 |
IsArray | Boolean | カラムが配列かどうか。 |
IsReadOnly | Boolean | カラムが読み取り専用かどうか。 |
IsKey | Boolean | sys_tablecolumns から返されたフィールドがテーブルの主キーであるかどうか。 |
利用可能なストアドプロシージャをリストします。
次のクエリは、利用可能なストアドプロシージャを取得します。
SELECT * FROM sys_procedures
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベース。 |
SchemaName | String | ストアドプロシージャを含むスキーマ。 |
ProcedureName | String | ストアドプロシージャの名前。 |
Description | String | ストアドプロシージャの説明。 |
ProcedureType | String | PROCEDURE やFUNCTION などのプロシージャのタイプ。 |
ストアドプロシージャパラメータについて説明します。
次のクエリは、ListNavigationProperties ストアドプロシージャのすべての入力パラメータについての情報を返します。
SELECT * FROM sys_procedureparameters WHERE ProcedureName='ListNavigationProperties' AND Direction=1 OR Direction=2
Name | Type | Description |
CatalogName | String | ストアドプロシージャを含むデータベースの名前。 |
SchemaName | String | ストアドプロシージャを含むスキーマの名前。 |
ProcedureName | String | パラメータを含むストアドプロシージャの名前。 |
ColumnName | String | ストアドプロシージャパラメータの名前。 |
Direction | Int32 | パラメータのタイプに対応する整数値:input (1)。input/output (2)、またはoutput(4)。input/output タイプパラメータは、入力パラメータと出力パラメータの両方になれます。 |
DataTypeName | String | データ型の名前。 |
DataType | Int32 | データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。 |
Length | Int32 | 文字データの場合は、許可される文字数。数値データの場合は、許可される桁数。 |
NumericPrecision | Int32 | 数値データの場合は最大精度。文字データおよび日時データの場合は、カラムの長さ(文字数)。 |
NumericScale | Int32 | 数値データの小数点以下の桁数。 |
IsNullable | Boolean | パラメータがNull を含められるかどうか。 |
IsRequired | Boolean | プロシージャの実行にパラメータが必要かどうか。 |
IsArray | Boolean | パラメータが配列かどうか。 |
Description | String | パラメータの説明。 |
Ordinal | Int32 | パラメータのインデックス。 |
主キーおよび外部キーについて説明します。
次のクエリは、Lead テーブルの主キーを取得します。
SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='Lead'
Name | Type | Description |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
IsKey | Boolean | カラムがTableName フィールドで参照されるテーブル内の主キーかどうか。 |
IsForeignKey | Boolean | カラムがTableName フィールドで参照される外部キーかどうか。 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
外部キーについて説明します。
次のクエリは、他のテーブルを参照するすべての外部キーを取得します。
SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
名前 | タイプ | 説明 |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前 |
PrimaryKeyName | String | 主キーの名前。 |
ForeignKeyName | String | 外部キーの名前。 |
ReferencedCatalogName | String | 主キーを含むデータベース。 |
ReferencedSchemaName | String | 主キーを含むスキーマ。 |
ReferencedTableName | String | 主キーを含むテーブル。 |
ReferencedColumnName | String | 主キーのカラム名。 |
ForeignKeyType | String | 外部キーがインポート(他のテーブルを指す)キーかエクスポート(他のテーブルから参照される)キーかを指定します。 |
主キーについて説明します。
次のクエリは、すべてのテーブルとビューから主キーを取得します。
SELECT * FROM sys_primarykeys
Name | Type | Description |
CatalogName | String | キーを含むデータベースの名前。 |
SchemaName | String | キーを含むスキーマの名前。 |
TableName | String | キーを含むテーブルの名前。 |
ColumnName | String | キーカラムの名前。 |
KeySeq | String | 主キーのシーケンス番号。 |
KeyName | String | 主キーの名前。 |
利用可能なインデックスについて説明します。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。
次のクエリは、主キーでないすべてのインデックスを取得します。
SELECT * FROM sys_indexes WHERE IsPrimary='false'
Name | Type | Description |
CatalogName | String | インデックスを含むデータベースの名前。 |
SchemaName | String | インデックスを含むスキーマの名前。 |
TableName | String | インデックスを含むテーブルの名前。 |
IndexName | String | インデックス名。 |
ColumnName | String | インデックスに関連付けられたカラムの名前。 |
IsUnique | Boolean | インデックスが固有の場合はTrue。そうでない場合はFalse。 |
IsPrimary | Boolean | インデックスが主キーの場合はTrue。そうでない場合はFalse。 |
Type | Int16 | インデックスタイプに対応する整数値:statistic (0)、clustered (1)、hashed (2)、またはother (3)。 |
SortOrder | String | 並べ替え順序:A が昇順、D が降順。 |
OrdinalPosition | Int16 | インデックスのカラムのシーケンスナンバー。 |
利用可能な接続プロパティと、接続文字列に設定されている接続プロパティに関する情報を返します。
このテーブルをクエリする際は、config 接続文字列を使用する必要があります。
jdbc:cdata:odata:config:
この接続文字列を使用すると、有効な接続がなくてもこのテーブルをクエリできます。
次のクエリは、接続文字列に設定されている、あるいはデフォルト値で設定されているすべての接続プロパティを取得します。
SELECT * FROM sys_connection_props WHERE Value <> ''
Name | Type | Description |
Name | String | 接続プロパティ名。 |
ShortDescription | String | 簡単な説明。 |
Type | String | 接続プロパティのデータ型。 |
Default | String | 明示的に設定されていない場合のデフォルト値。 |
Values | String | 可能な値のカンマ区切りリスト。別な値が指定されていると、検証エラーがスローされます。 |
Value | String | 設定した値またはあらかじめ設定されたデフォルト。 |
Required | Boolean | プロパティが接続に必要かどうか。 |
Category | String | 接続プロパティのカテゴリ。 |
IsSessionProperty | String | プロパティが、現在の接続に関する情報を保存するために使用されるセッションプロパティかどうか。 |
Sensitivity | String | プロパティの機密度。これは、プロパティがロギングおよび認証フォームで難読化されているかどうかを通知します。 |
PropertyName | String | キャメルケースの短縮形の接続プロパティ名。 |
Ordinal | Int32 | パラメータのインデックス。 |
CatOrdinal | Int32 | パラメータカテゴリのインデックス。 |
Hierarchy | String | このプロパティと一緒に設定する必要がある、関連のある依存プロパティを表示します。 |
Visible | Boolean | プロパティが接続UI に表示されるかどうかを通知します。 |
ETC | String | プロパティに関するその他のさまざまな情報。 |
Cloud がデータソースにオフロードできるSELECT クエリ処理について説明します。
SQL 構文の詳細については、SQL 準拠 を参照してください。
以下はSQL 機能のサンプルデータセットです。 SELECT 機能のいくつかの側面がサポートされている場合には、カンマ区切りのリストで返されます。サポートされていない場合、カラムにはNO が入ります。
名前 | 説明 | 有効な値 |
AGGREGATE_FUNCTIONS | サポートされている集計関数。 | AVG, COUNT, MAX, MIN, SUM, DISTINCT |
COUNT | COUNT 関数がサポートされているかどうか。 | YES, NO |
IDENTIFIER_QUOTE_OPEN_CHAR | 識別子をエスケープするための開始文字。 | [ |
IDENTIFIER_QUOTE_CLOSE_CHAR | 識別子をエスケープするための終了文字。 | ] |
SUPPORTED_OPERATORS | サポートされているSQL 演算子。 | =, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR |
GROUP_BY | GROUP BY がサポートされているかどうか。サポートされている場合、どのレベルでサポートされているか。 | NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE |
OJ_CAPABILITIES | サポートされている外部結合の種類。 | NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS |
OUTER_JOINS | 外部結合がサポートされているかどうか。 | YES, NO |
SUBQUERIES | サブクエリがサポートされているかどうか。サポートされていれば、どのレベルでサポートされているか。 | NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED |
STRING_FUNCTIONS | サポートされている文字列関数。 | LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE |
NUMERIC_FUNCTIONS | サポートされている数値関数。 | ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE |
TIMEDATE_FUNCTIONS | サポートされている日付および時刻関数。 | NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT |
REPLICATION_SKIP_TABLES | レプリケーション中にスキップされたテーブルを示します。 | |
REPLICATION_TIMECHECK_COLUMNS | レプリケーション中に更新判断のカラムとして使用するかどうかを、(指定された順に)チェックするカラムのリストを含む文字列の配列。 | |
IDENTIFIER_PATTERN | 識別子としてどの文字列が有効かを示す文字列値。 | |
SUPPORT_TRANSACTION | プロバイダーが、コミットやロールバックなどのトランザクションをサポートしているかどうかを示します。 | YES, NO |
DIALECT | 使用するSQL ダイアレクトを示します。 | |
KEY_PROPERTIES | Uniform データベースを特定するプロパティを示します。 | |
SUPPORTS_MULTIPLE_SCHEMAS | プロバイダー用に複数のスキームが存在するかどうかを示します。 | YES, NO |
SUPPORTS_MULTIPLE_CATALOGS | プロバイダー用に複数のカタログが存在するかどうかを示します。 | YES, NO |
DATASYNCVERSION | このドライバーにアクセスするために必要な、CData Sync のバージョン。 | Standard, Starter, Professional, Enterprise |
DATASYNCCATEGORY | このドライバーのCData Sync カテゴリ。 | Source, Destination, Cloud Destination |
SUPPORTSENHANCEDSQL | API で提供されている以上の、追加SQL 機能がサポートされているかどうか。 | TRUE, FALSE |
SUPPORTS_BATCH_OPERATIONS | バッチ操作がサポートされているかどうか。 | YES, NO |
SQL_CAP | このドライバーでサポートされているすべてのSQL 機能。 | SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX |
PREFERRED_CACHE_OPTIONS | 使用したいcacheOptions を指定する文字列値。 | |
ENABLE_EF_ADVANCED_QUERY | ドライバーがEntity Framework の高度なクエリをサポートしているかどうかを示します。サポートしていなければ、クエリはクライアントサイドで処理されます。 | YES, NO |
PSEUDO_COLUMNS | 利用可能な疑似カラムを示す文字列の配列。 | |
MERGE_ALWAYS | 値がtrue であれば、CData Sync 内でMerge Model が強制的に実行されます。 | TRUE, FALSE |
REPLICATION_MIN_DATE_QUERY | レプリケート開始日時を返すSELECT クエリ。 | |
REPLICATION_MIN_FUNCTION | サーバーサイドでmin を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
REPLICATION_START_DATE | レプリケート開始日を、プロバイダーが指定できるようになります。 | |
REPLICATION_MAX_DATE_QUERY | レプリケート終了日時を返すSELECT クエリ。 | |
REPLICATION_MAX_FUNCTION | サーバーサイドでmax を実行するために使用する式名を、プロバイダーが指定できるようになります。 | |
IGNORE_INTERVALS_ON_INITIAL_REPLICATE | 初回のレプリケートで、レプリケートをチャンクに分割しないテーブルのリスト。 | |
CHECKCACHE_USE_PARENTID | CheckCache 構文を親キーカラムに対して実行するかどうかを示します。 | TRUE, FALSE |
CREATE_SCHEMA_PROCEDURES | スキーマファイルの生成に使用できる、ストアドプロシージャを示します。 |
次のクエリは、WHERE 句で使用できる演算子を取得します。
SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
WHERE 句では、個々のテーブルの制限や要件が異なる場合がありますので注意してください。詳しくは、データモデル セクションを参照してください。
Name | Type | Description |
NAME | String | SQL 構文のコンポーネント、またはサーバー上で処理できる機能。 |
VALUE | String | サポートされるSQL またはSQL 構文の詳細。 |
試行された変更に関する情報を返します。
次のクエリは、バッチ処理で変更された行のId を取得します。
SELECT * FROM sys_identity
Name | Type | Description |
Id | String | データ変更処理から返された、データベース生成Id。 |
Batch | String | バッチの識別子。1 は単一処理。 |
Operation | String | バッチ内の処理の結果:INSERTED、UPDATED、またはDELETED。 |
Message | String | SUCCESS、またはバッチ内の更新が失敗した場合のエラーメッセージ。 |
Cloud は、データソースの型を、スキーマで使用可能な対応するデータ型にマッピングします。以下のテーブルはこれらのマッピングを説明します。
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). |
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuthAccessToken | OAuth を使用して接続するためのアクセストークン。 |
OAuthAccessTokenSecret | OAuth を使用して接続するためのアクセストークンのトークン シークレット。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
プロパティ | 説明 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
プロパティ | 説明 |
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はバージョンを自動検出しようとします。 |
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を使用するかどうか。 |
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.
string
""
URL to the Organization root or the OData services file. For example, http://MySite/MyOrganization.
認証で使用されるスキーム。NTLM、BASIC、DIGEST、NONE、NEGOTIATE、およびSHAREPOINTONLINE が利用可能です。
string
"None"
このフィールドは、Password およびUser とともに、OData サーバーに対して認証をするために使われます。デフォルト値はNONE です。
認証で使用されるOData ユーザーアカウント。
string
""
このフィールドは、Password とともに、OData サーバーに対して認証をするために使われます。
URL to the OData entity set. For example, http://MySite/MyOrganization/EntitySet.
string
""
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).
string
""
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 テナント。指定しない場合は、デフォルトのテナントが使用されます。
string
""
データにアクセスするために使用される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 交換時に使用されます)。
string
""
Azure OAuth を使用する場合は、リソースを指定する必要があります。 Web API(セキュアリソース)のApp Id URI に設定されなければなりません。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSO プロパティの全リストを提供します。
プロパティ | 説明 |
SharePointSSODomain | The domain of the user when using single sign-on (SSO). |
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
OAuthAccessToken | OAuth を使用して接続するためのアクセストークン。 |
OAuthAccessTokenSecret | OAuth を使用して接続するためのアクセストークンのトークン シークレット。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
string
""
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
string
""
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
OAuth を使用して接続するためのアクセストークン。
string
""
OAuth を使用して接続するには、OAuthAccessToken プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessToken が取得されます。このプロパティは、サーバーに依存するタイムアウトがあり、要求の間で再利用することができます。
アクセストークンは、ユーザー名とパスワードの代わりに使用されます。サーバー上で維持することで、認証情報が保護されます。
OAuth を使用して接続するためのアクセストークンのトークン シークレット。
string
""
OAuth を使用して接続および認証するには、OAuthAccessTokenSecret プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessTokenSecret が取得されます。取得されたトークンシークレットは OAuthAccessToken と一緒に使用され、タイムアウトするまで複数の要求のために使用されます。
OAuth フローのグラント種別。
string
"CODE"
次のオプションが利用可能です:CODE,CLIENT,PASSWORD
OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。
string
"Post"
OAuth RFC では、Password OAuthGrantType を使用する際にOAuthClientId とOAuthClientSecret を渡す2つの方法を指定します。 最も一般的な方法は、post データを介してサービスに渡す方法です。しかし、一部のサービスでは、BASIC 認証で使用するためにAuthorize ヘッダーを介して渡すことを要求する場合があります。 このプロパティをBasic に変更すると、パラメータをpost データではなくAuthorize ヘッダーの一部として送信します。
OAuth サービスの認可URL。
string
""
OAuth サービスの認可URL。このURL でユーザーはサーバーにログインしてアプリケーションにアクセス許可を与えます。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
OAuth アクセストークンを取得するURL。
string
""
OAuth アクセストークンを取得するURL。OAuth 1.0 では、このURL で認可されたリクエストトークンがアクセストークンと交換されます。
OAuth トークンをリフレッシュするURL。
string
""
OAuth トークンをリフレッシュするURL。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。
OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。
string
""
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthKey とともに指定して、OAuthAccessToken を取得できます。
OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。
string
""
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthToken とともに指定して、OAuthAccessToken を取得できます。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。
string
""
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 |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
プロパティ | 説明 |
Verbosity | ログファイルの記述をどの程度の詳細さで記載するかを決定するverbosity レベル。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
string
""
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このセクションでは、本プロバイダーの接続文字列で設定可能な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はバージョンを自動検出しようとします。 |
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を使用するかどうか。 |
UseSimpleNames | テーブルとカラムに簡略名を使用するかどうかを決定するboolean。 |
バッチリクエストのエラー後に処理を続行するかどうか。
bool
true
この接続プロパティはOData バージョン4.0以上のサーバーでのみサポートされています。 しかし、各サーバーはこの設定を無視することを選択できます。ContinueOnError をtrue に設定すると、バッチリクエストが試みられたときに、リクエストを投げる代わりにテンポラリテーブルに例外を返します。
Allows cookies to be manually specified in name=value pairs separated by a semicolon.
string
""
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 Cloud, they can be manually specified here. Specify cookies in name=value pairs separated by a semicolon. For instance: Cookie1=value;Cookie2=value2.
ユーザーが決定したその他のヘッダー(オプション)。
string
""
このプロパティは、他のプロパティ(ContentType、From など)から作成されたHTTP リクエストヘッダーに追加するヘッダーの文字列に設定できます。
ヘッダーは、HTTP の仕様で説明されているとおり、"header: value" 形式でなければなりません。ヘッダー行はキャリッジリターンと改行(CRLF)文字で区切る必要があります。
このプロパティは慎重に使用してください。このプロパティに無効なヘッダーが含まれていると、HTTP リクエストは失敗する場合があります。
このプロパティは、専門的/非標準的なAPI と統合するためにCloud の機能を微調整する場合に便利です。
リクエストに含めるカスタムクエリ文字列。
string
""
CustomUrlParams を使用すると、HTTP リクエストに含まれるカスタムクエリ文字列パラメータを指定できます。パラメータは、field1=value1&field2=value2&field3=value3 の形式で、クエリ文字列としてエンコードする必要があります。クエリ文字列の値はURL エンコードされている必要があります。
The data format to retrieve data in. Select either ATOM or JSON.
string
"AUTO"
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.
bool
true
Whether or not the CData Cloud should use atomic batch operations.
Indicates whether the asterisk should be expanded in the $select query parameter.
bool
false
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.
bool
false
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.
int
-1
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 句よりも優先されます。
int
-1
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
The maximum number of characters for the $Select query parameter.
int
1000
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はバージョンを自動検出しようとします。
string
"AUTO"
使用するODataのバージョン。デフォルトでは、Cloudは、サービスが使用しているバージョンを自動的に特定しようとします。バージョンを解決できない場合は、3.0が使用されます。オプションで、これを手動で設定できます。
OData から返されるページあたりの結果の最大数。
int
1000
Pagesize プロパティは、OData から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
string
""
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.
string
""
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.
bool
false
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.
bool
true
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 Cloud 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.
bool
true
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 Cloud 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 Cloud 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 Cloud 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.
bool
false
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.
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
int
60
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Cloud は例外をスローします。
CData ADO.NET Provider for OData がクライアントサイドのページングを使用するかどうか。
bool
false
いくつかのソースはサーバーサイドページングをサポートしません。このような場合は、UseClientSidePaging をtrue に設定してください。そうでない場合は、false のままにします。 すでにページングをサポートしているソースでUseClientSidePaging をtrue に設定すると、不完全な結果が生じる可能性があります。
ODataソースがEtagsを使用するかどうか。
bool
true
一部のODataソースはEtagsを使用しません。このような場合は、UseEtagsをFalseに設定します。
テーブルとカラムに簡略名を使用するかどうかを決定するboolean。
bool
false
OData テーブルおよびカラムでは、 通常のデータベースでは使うことが認められていない特殊記号・文字を名前に使うことができます。UseSimpleNames を使用すると、Cloud を従来のデータベースツールでより簡単に使用できるようになります。
UseSimpleNames をtrue に設定し、返されるテーブル名およびカラム名をシンプルにします。表示されるテーブル名 およびカラム名においてアルファベット文字およびアンダースコアのみを有効とするネーミングスキームを強制します。 英数字以外の文字はすべて、アンダースコアに変換されます。