OData 4 ソース¶
OData は、Microsoft が作成した、データにアクセスするためのプロトコルです。OData のバージョン 4 は、OASIS OData Technical Committee (TC) によって標準化されました。CRUD 操作を行い、JDBC や ODBC に似ていますが、データベースに限定されません。
OData v4 ではデータの表現に JSON (オプションで Atom) を使用し、リクエストは REST モデルに従います。このため OData は、公開データとそのモデルを記述する方法を追加で提供する RESTful API の実装とみなされます。
OData プロトコルの主なバージョンは2 と 4 です。このデータソースは、OData バージョン 4 のソースにクエリを実行するためのものです。
OData v4 データソースの作成¶
OData v4 サービスからデータを利用するには、OData v4 データソースを作成します。つまり、 [File] メニュー > [New] > [Data source] をクリックし、[OData v4.0 (Custom)] を選択します。

下にスクロールして [Service Endpoint] を展開します。
Service Endpoint (必須): OData サービスの接続の詳細です。[HTTP Client] を選択し、サービスに接続するためのパラメータを構成します。
Configuration
HTTP Method: [GET] を選択します。
Base URL: OData v4 エンドポイントの URL です。
Filters: 通常、ここでは何も設定する必要はありません。
このパネルの他の設定は、JSON や XML データソースの他の HTTP パス と同様に構成されます (構成方法は、「 HTTP パス 」のページに記載されています)。
Service Format (必須): ラッパーが OData サービスにアクセスする際に使用する形式。[JSON] または [XML-Atom] のいずれかにします(OData v4 では [JSON] がデフォルトであり、推奨されます)。
[Save] をクリックします。
OData v4 基本ビューの作成¶
ここで、この OData サービスのエンドポイントのデータにクエリを実行するための基本ビューを作成する必要があります。作成するには、OData データソースのウィザードで [CREATE BASE VIEW] をクリックして、以下の値を入力します。
Entity Collection (必須): OData サービスで定義されるいずれかのコレクションの名前。コレクションに達するために必要となる完全な URL パス (パラメータなし) として指定します。例:
Customers
またはCompany('DND')/currentCustomers
。Entity Name (オプション): サービスの EDM で定義される、エンティティコレクションが返すデータをモデリングするエンティティタイプの名前。値を指定しない場合、エンティティコレクションはサービスドキュメントに表示されるとみなされ、エンティティ名はそこから推測されます。例:
Customers
>Customer
。Custom Query Options (オプション): データを取得するために OData サービスに送信される URL に追加されるパラメータ。カスタムクエリオプションは、
customOption = customValue
形式のクエリオプションです。複数のクエリオプションを指定するには、各オプションを&
で区切ります。OData v4 標準では、カスタムクエリオプションを$
や@
で 開始することはできません 。例: http://host/service/Products?debug-mode=trueExpand Related Entities (オプション): 選択した場合、他のエンティティへの参照が配列またはレジスターとしてメインエンティティに直接表示されます。
Enable Pagination (オプション): 選択した場合、結果の改ページに使用できる 2 つのフィールドが基本ビューに追加されます。フィールド名は*fetch_size* と offset_size です。
Load Streams (オプション): 選択した場合、 ストリームプロパティ と ストリームエンティティ は、メディアリソースへのリンクではなく、BLOB オブジェクトとして返されます。
Use key predicates in URL paths when possible (オプション): 選択した場合、フィルタリングの代わりに URL パスでキー述語が使用されます。
例¶
パブリック OData v4 エンドポイントに対してサンプル基本ビューを作成できます。 https://services.odata.org/TripPinRESTierService/(S(u0oajn0druadw1sqglfm5mmz))/.
基本ビューのパラメータを設定したら、[Create Base View] をクリックします。これで、以下のようなクエリを実行できます。
SELECT * FROM bv_odata4_people WHERE where username = 'russellwhyte';
INSERT INTO bv_odata4_people
(username, firstname, lastname, gender, age)
VALUES
('dataninja', 'Data', 'Ninja', 'Female', 30);
UPDATE bv_odata4_people SET gender = 'Female' WHERE username = 'russellwhyte';
DELETE FROM bv_odata4_people WHERE username = 'russellwhyte';
既知の制限事項¶
このカスタムデータソースは、OData バージョン 4.0 で動作します。以前のバージョンの OData はサポートされません。OData 2.0 サービスにクエリを実行するには、 OData v2 データソースを作成します。
配列のプロパティによるエレメントのフィルタリングはサポートされません。OData ではこのような検索は許可されません。
media read links プロパティによるフィルタリングはサポートされません。
配列の挿入はサポートされません。
media file プロパティの挿入または更新はサポートされません。
派生型のプロパティは使用できません。リクエストされたコレクションの宣言型から派生した型を持つエンティティがある場合、そのプロパティは基本ビューのスキーマに追加されますが、これらのプロパティを個別に投影することはできません。
参照¶
OData の公式ドキュメント: http://www.odata.org/docs/
Microsoft が提供する OData ドキュメント:
JSON 形式 Odata の作成と利用: http://msdn.microsoft.com/es-es/magazine/jj190799.aspx
Open Data Protocol によるリッチインターネットアプリの構築: http://msdn.microsoft.com/es-es/magazine/ff714561.aspx
パブリック OData の例:
公式 Web サイトの読み取り専用サービスの例:
http://services.odata.org/V4/OData/OData.svc/
http://services.odata.org/V4/OData/OData.svc/$metadata
http://services.odata.org/V4/OData/OData.svc/Products
http://services.odata.org/V4/OData/OData.svc/Products(0)
http://services.odata.org/V4/OData/OData.svc/Products?$format=json
http://services.odata.org/V4/OData/OData.svc/Products(0)?$format=json
公式 Web サイトの読み書きサービスの例:
http://services.odata.org/V4/(S(gsrk2wcskjydxw2iixw3kvdr))/OData/OData.svc/
http://services.odata.org/V4/(S(gsrk2wcskjydxw2iixw3kvdr))/OData/OData.svc/Categories
http://services.odata.org/V4/(S(gsrk2wcskjydxw2iixw3kvdr))/OData/OData.svc/Products
http://services.odata.org/V4/(S(gsrk2wcskjydxw2iixw3kvdr))/OData/OData.svc/Suppliers