9.9. OData トランスレーター


タイプ名 「odata」 によって認識される OData トランスレーターは OData V2 および V3 データソースを公開し、Data Virtualization Web サービスリソースアダプターを使用して Web サービス呼び出しを作成します。このトランスレーターは、Web サービストランスレーター の拡張です。

OData とは

Open Data Protocol(OData) の Web プロトコルは、データのロックを解除し、現在のアプリケーションに存在する silo から解放する方法を提供するデータのクエリーおよび更新を行います。OData は、さまざまなアプリケーション、サービス、ストアから情報にアクセスするために、HTTP、Atom Publishing Protocol(AtomPub)、JSON などの Web テクノロジーに基づいて適用および構築することでこれを行います。OData は、リレーショナルデータベース、ファイルシステム、コンテンツ管理システム、従来の Web サイトなど、さまざまなソースから情報を公開およびアクセスするために使用されます。

OData4J フレームワークのヘルプとともに OASIS グループからこの仕様を使用することで、Data Virtualization は OData エンティティーをリレーショナルデータベースにマップします。Data Virtualization は、提供された OData エンドポイントから CSDL(Conceual Schema Definition Language)を読み取り、OData スキーマをリレーショナルデータベースに変換することができます。以下の表は、CSDL ドキュメントの OData トランスレーターのマッピングの選択を示しています。

Expand
ODataリレーショナルデータベースにマッピング

EntitySet

テーブル

FunctionImport

手順

AssociationSet

テーブル上の外部キー*

ComplexType

ignored**

  • 多対多の関連付けにより、リンクテーブルが選択できませんが、結合の目的で使用することができます。

    • 関数で使用されると、暗黙的なテーブルが公開されます。埋め込みテーブルを定義するために使用されると、すべての列がインラインになります。

すべての CRUD 操作は、OData トランスレーターに送信された SQL に基づいて生成されるエンティティーに適切にマッピングされます。

  1. 用途

OData ソースの使用状況は JDBC トランスレーターと類似しています。メタデータのインポートはトランスレーターによって提供され、メタデータがソースシステムからインポートされ、リレーショナルデータベース用語で公開されると、このソースは EntitySets および Function Imports が Data Virtualization システムにローカルでいるかのようにクエリーできます。

Expand
表9.6 実行プロパティー
名前説明デフォルト

DatabaseTimeZone

データベースのタイムゾーン。date、time、または timestamp の値を取得する場合に使用されます。

システムのデフォルトタイムゾーン

SupportsOdataCount

システムクエリーでの $count オプションの使用を有効にします。

true

SupportsOdataFilter

システムクエリーでの $filter オプションの使用を有効にします。

true

SupportsOdataOrderBy

システムクエリーで $orderby オプションの使用を有効にします。

true

SupportsOdataSkip

システムクエリーでの $skip オプションの使用を有効にします。

true

SupportsOdataTop

システムクエリーでの $top オプションの使用を有効にします。

true

Expand
表9.7 インポーターのプロパティー
名前説明デフォルト

schemaNamespace

インポートするスキーマの namespace。

null

entityContainer

インポートするエンティティーコンテナー名。

デフォルトのコンテナー

例: NetflixCatalog からテーブルおよびビューのみをインポートする Importer 設定

<property name="importer.schemaNamespace" value="System.Data.Objects"/>
<property name="importer.entityContainer" value="NetflixCatalog"/>
Copy to Clipboard Toggle word wrap

OData サーバーが完全に互換性がない

接続する OData サーバーは OData 仕様全体を完全に実装しない可能性があります。サーバーの OData 実装が機能をサポートしていない場合は、「execution properties」を設定して対応する機能をオフにし、Data Virtualization が無効なクエリーをトランスレーターにプッシュしないようにします。

たとえば、$filter をオフにするには、以下のステートメントを仮想データベースの DDL に追加します。

CREATE SERVER odata FOREIGN DATA WRAPPER "odata-override" OPTIONS ("SupportOdataFilter" 'false');
Copy to Clipboard Toggle word wrap
ネイティブクエリー

OData のトランスレーターはネイティブまたは直接クエリーの実行を実行できません。ただし、Web サービストランスレーターの invokehttp メソッドを使用して REST ベースの呼び出しを実行し、SQLXML を使用して結果を解析できます。

OData をサーバーとして使用

Data Virtualization は OData ベースのデータソースのみを使用できますが、すべてのデータソースを OData ベースの Web サービスとして公開することもできます。

OData サーバーの設定に関する詳細は、『 Client Developer's Guide 』の「 OData support 」を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat