この項ではOracle Data Provider for .NETの新機能について説明し、追加情報への参照を提供します。現在のリリースへ移行するユーザーのため、前のリリースの新機能の説明も残されています。
次の項では、Oracle Data Provider for .NETの新機能を説明します。
Oracle Data Provider for .NETリリース11.2.0.3には次が含まれています。
ADO.NET Entity FrameworkおよびLINQ to Entitiesのサポート
ODP.NETで、ADO.NET Entity FrameworkおよびLINQ to Entitiesがサポートされるようになりました。Entity Frameworkは、データ・モデルでのオブジェクト・リレーショナル・マッピング・サービスを提供するフレームワークです。Entity Frameworkでは、リレーショナル・データベース形式とクライアント優先オブジェクト形式とのインピーダンス・ミスマッチが解決されます。統合言語クエリ(LINQ)は、配列データ、可算クラス、XML、リレーショナル・データベースおよびその他のデータ・ソースのクエリ、計画およびフィルタ処理に使用される一連の演算子を定義します。LINQの1つの形式であるLINQ to Entitiesを使用すると、Entity Frameworkデータ・ソースをクエリできます。ODP.NETでは、オブジェクト・リレーショナル・モデリングおよびLINQ to EntitiesクエリでOracle Databaseを使用できるようEntity Frameworkがサポートされています。
Entity FrameworkおよびLINQを使用すると、.NET開発者の生産性が向上します。ここでは、アプリケーションのデータ・モデルからデータベースのデータ・モデルが抽出されます。Entity Frameworkのツールを使用すると、オブジェクト・リレーショナル・データの処理が容易になります。Oracle .NET開発者は、Entity FrameworkおよびLINQにOracleを統合することで、生産性に関するこれらのすべての利点を活用できます。
ODP.NETでのADO.NET Entity FrameworkおよびLINQ to Entitiesのサポートの詳細は、「ADO.NET Entity FrameworkおよびLINQ to Entities」を参照してください。
開発者は、Windows Communication Foundation(WCF)Data Servicesによって、Open Data Protocol(OData)を使用するサービスを作成し、Representational State Transfer(REST)のセマンティクスを使用してインターネット上のデータを公開および使用できます。データは、ODataによって、URIでアドレス指定できるリソースとして公開されます。リソースは、ODataでEntity Data Modelの規則を使用して、アソシエーションによって関連付けられたエンティティのセットとして公開されます。ODP.NETではEntity Frameworkがサポートされており、ODataおよびWCF Data Servicesを介してデータが公開されます。
WCF Data ServicesおよびODataを使用すると、任意のデータ・ソースからフレキシブルなデータ・サービスを作成して、作成したデータ・サービスを無理なくWebに統合できます。(Oracle Databasesを含む)すべてのデータ・ソースが同じデータ共有標準で使用されるため、データ交換による相互運用がより可能になります。
ODP.NETでは、REF CURSORパラメータを、明示的にバインドすることなくストアド・プロシージャにバインドできます。これを行うには、アプリケーションでREF CURSORメタデータを.NET構成ファイルの一部として指定する必要があります。この機能によって、Entity Frameworkの関数インポートでOracleストアド・プロシージャをコールして、REF CURSORの結果セットを戻すことができます。ODP.NETでは、REF CURSORを介して取得されるDataSetまたはDataTableを使用して、データベースのデータを更新することもできます。
Entity Frameworkでは、通常、結果セットのパラメータは宣言されません。ODP.NETは、暗黙的なREF CURSORパラメータをサポートすることで、Entity Frameworkの標準的な使用シナリオとより緊密に統合されます。
暗黙的なREF CURSORパラメータのバインドの詳細は、「暗黙的なREF CURSORのバインド」を参照してください。
Oracle Data Provider for .NETリリース11.2.0.2には次が含まれています。
Windows x64の64ビットODP.NET XCopy
ODP.NET XCopyは、Windows x64システムで使用できるようになり、通常のODP.NETクライアントよりも小さいクライアント・インストール・サイズを実現し、さらに、構成がより簡単になりました。ODP.NET XCopyは、カスタマイズされたデプロイメント・パッケージへのODP.NETの埋込みを簡素化します。
TimesTen In-Memoryデータベースのサポート
Oracle Data Provider for .NETでは、TimesTen In-memoryデータベースに対する.NETアプリケーション(C# .NET、Visual Basic .NET、ASP.NETなど)の高速データ・アクセスが可能です。ODP.NETによるTimesTenのサポートには、Oracle.DataAccess.Client
およびOracle.DataAccess.Types
ネームスペースのクラス、列挙、インタフェース、デリゲートおよび構造が含まれています。ODP.NETは、Microsoft Windows 32ビットおよび64ビット・プラットフォームにおけるTimesTenリリース11.2.1.6.1以上をサポートします。TimesTenは、Microsoft Visual Studio 2005以上とともに、.NET Framework 2.0、3.0、3.5および4で使用できます。
関連項目: TimesTen In-Memoryデータベースの最新のドキュメントおよびリソースは、次のWebサイトで入手できます。
|
Oracle Data Provider for .NETリリース11.2.0.1.2には次が含まれています。
Microsoft .NET Framework 4のサポート
ODP.NET for .NET Framework 4は、.NET Framework 4および.NET Framework 4 Client Profileをサポートします。
Oracle Data Provider for .NETリリース 11.2には次が含まれています。
エンドツーエンド・トレース: ClientInfo
プロパティ
ODP.NETでは、OracleConnection
オブジェクトで、ActionName
、ClientId
およびModuleName
プロパティに加え、ClientInfo
書込み専用プロパティがサポートされるようになりました。このプロパティでは、接続のクライアント情報を指定します。
ClientInfo
プロパティは、エンドツーエンドのトレース属性で、クライアントまたは中間層に設定しておくことができます。この属性は、次のサーバー・ラウンドトリップが発生するたびにデータベース・サーバーに伝播できます。これにより、単独のデータベース・ラウンドトリップに伴う追加のオーバーヘッドが軽減されます。ClientInfo
プロパティは、データベースのユーザー・アクティビティの追跡やアプリケーションのデバッグを行う際に使用すると便利です。
エディションベースの再定義
エディションベースの再定義を使用すると、.NETアプリケーションが使用中であってもそのデータベース・コンポーネントをアップグレードできます。このため、アプリケーションの停止時間を最小化あるいは排除することができます。
Oracle Data Provider for .NETリリース11.1.0.7.20には次が含まれています。
アプリケーションの自動チューニング
ODP.NETでは、実行時に行うサンプリングに基づいて動的に文キャッシュ・サイズを調整し、アプリケーションのパフォーマンスを向上させます。また、自動チューニングでは、メモリー使用率が高くなりすぎるのを防ぐために、クライアント・マシンのメモリー使用率が考慮されます。自動チューニングを使用すると、ODP.NETパフォーマンスの向上、ネットワーク使用率の低減、サーバーCPUアクティビティおよびクライアントCPUアクティビティの減少が実現します。
データ検索の高速化とメモリー使用率の低減
OracleDataReader
によるデータ検索やOracleDataAdapter
からのDataSet
の移入が高速化されました。
ODP.NETでは、同時に実行されない文の同じフェッチ配列バッファを再利用することで、メモリー使用量を節約します。フェッチ配列バッファには、データベースから取得したデータが保存されます。
これらの機能を使用する際にはコード変更は必要ありません。これらの機能により、ODP.NETアプリケーションのパフォーマンスとスケーラビリティが向上します。
Oracle Streamsアドバンスト・キューイングのサポート
ODP.NETは、Oracle Streamsアドバンスト・キューイング(AQ)へのアクセスをサポートしています。AQは、データベース統合型のメッセージ・キューイング機能を提供し、メッセージの永続的な格納、異なるマシンおよびデータベース上のキュー間でのメッセージの伝播、Oracle NET Services、HTTP、HTTPS、SMTPを使用したメッセージの送信を可能にします。
ODP.NETでは、エンキュー、デキュー、リスニング、通知など、AQのすべての操作機能を利用できます。AQリソースはOracle Developer Tools for Visual Studioで管理できます。
昇格可能なローカル・トランザクションのサポート
分散トランザクションは、アプリケーション、トランザクション・コーディネータおよび複数のデータベースのオーケストレーションを必要とします。ローカル・トランザクションに必要なのは、アプリケーションと単一のリソース・マネージャまたはデータベースのみです。ローカル・トランザクションのオーバーヘッドは、分散トランザクションと比較すると、それほど多くありません。
トランザクションをローカルにするか、分散させるかを設計時に判断するのは困難なこともあります。ローカル・トランザクションを使用することがほとんどであるとしても、開発者は分散トランザクション用にアプリケーションを設計せざるを得ません。こうした状況は、実行時のリソース使用率が必要以上に上昇する原因となります。
昇格可能なローカル・トランザクションを使用すれば、複数のデータベースがトランザクションに参加するまで、すべてのトランザクションをローカルにしておくことができます。複数のデータベースが参加した時点で、そのトランザクションは分散トランザクションに昇格し、トランザクション・コーディネータによる管理が可能になります。これにより、システム・リソースの利用が効率化されます。この機能は、Oracle Database 11gリリース1(11.1.0.7)以上でサポートされています。
ODP.NETのセキュリティ強化
ODP.NETでは、OraclePermission
クラスを利用して強制的セキュリティを適用します。これは、ユーザーまたはアプリケーションのセキュリティ・レベルがデータへのアクセスに十分であることを保証するのに役立ちます。
HAイベント通知のコールバック
ODP.NETでは、接続文字列に"ha events=true
"が指定されている場合にOracle高可用性(HA)イベントを登録できます。イベントを登録すると、停止または起動したデータベース、サービス、ホストまたはインスタンスについての通知を受信できるようになります。.NETの開発者は、必要に応じてコールバックをODP.NETに登録することで、いずれかのイベントが発生したときにアプリケーションに通知し、次にイベント・ハンドラを実行することができます。
データベースの起動および停止操作
データベース管理者権限を持つユーザーは、OracleDatabase
クラスを使用してデータベース・インスタンスを起動または停止できます。
Oracle Data Provider for .NETリリース11.1.0.6.20には次が含まれています。
32ビットODP.NET XCopy
Oracle XCopyは、通常のODP.NETクライアントよりもディスク・サイズが小さく、構成が簡単なODP.NETクライアントをシステム管理者に提供します。Oracle XCopyは、カスタマイズされたデプロイメント・パッケージへのODP.NETの埋込みを簡素化します。
Oracleユーザー定義タイプのサポート
ODP.NETには、.NETアプリケーションのカスタム・タイプとしてデータベースに定義されているOracle UDTを表示する機能があります。
一括コピー操作
ODP.NETでは、大量のデータを効率的にロードする一括コピー操作がサポートされています。
Oracle Real Application Clusters(Oracle RAC)およびOracle Data Guardに対する追加の接続プールの最適化
ODP.NETは、Oracle RACまたはOracle Data Guardからデータベース・ダウン・イベントを受信すると、接続プールをクリーン・アップします。ODP.NETはすでにノード・ダウン、サービス・メンバー・ダウンおよびサービス・ダウン・イベントに対して接続プールをクリーン・アップしていますが、これはその追加機能です。
Windows認証ユーザー接続プーリング
ODP.NET接続プールの一部として、オペレーティング・システム認証接続を管理できます
接続プール・パフォーマンス・カウンタ
ODP.NETは、Windowsパフォーマンス・モニターを使用して表示できる接続プーリングのパフォーマンス・カウンタを公開します。
エンドツーエンドのトレース属性のサポート
ODP.NETは、OracleConnection
オブジェクトの書込み専用プロパティであるActionName、ClientId
、ClientInfo
およびModuleName
をサポートしています。これらのプロパティは、エンドツーエンドのトレース属性に対応しています。このエンドツーエンドのトレース属性をクライアントまたは中間層に設定しておき、次のサーバー・ラウンドトリップが発生するたびにデータベース・サーバーに伝播できます。これにより、単独のデータベース・ラウンドトリップに伴う追加のオーバーヘッドが軽減されます。この属性は、データベースのユーザー・アクティビティの追跡やアプリケーションのデバッグを行う際に使用すると便利です。
Oracle Data Provider for .NETリリース11.1には次が含まれています。
パフォーマンスの拡張機能
パフォーマンスの拡張機能は次のとおりです。
このリリースでは、ODP.NETパラメータ・コンテキストをキャッシュする既存のキャッシング・インフラストラクチャが拡張されました。この拡張機能は、データベース・バージョンから独立しており、サポートされているすべてのデータベース・バージョンで使用できます。この機能により、アプリケーションが同じ文を繰り戻し実行する際のパフォーマンスが大きく改善されます。
この拡張機能は開発者に対して透過的です。この機能の使用を使用する際にはコード変更は必要ありません。
LOBSまたはSecureFilesを使用したLOBの効率的な検索
このリリースでは、データベースへのラウンドトリップの回数を減らすことで、LOBSまたはSecureFilesを使用する際の少量のLOB検索のパフォーマンスが向上しました。SecureFilesはOracle 11gリリース1以降のデータベース・リリースで使用可能です。
この拡張機能は開発者に対して透過的です。この機能の使用を使用する際にはコード変更は必要ありません。
Oracle Data Provider for .NETリリース10.2.0.4には次が含まれています。
ODP.NET構成
開発者は、アプリケーション構成ファイル、web.config
ファイルまたはmachine.config
ファイルなどの構成ファイルを使用してODP.NETを構成できるようになりました。
machine.config
の設定は、レジストリの設定より優先されます。アプリケーション構成ファイルまたはweb.config
の設定は、machine.config
の値より優先されます。
Oracle Data Provider for .NETリリース10.2.0.3には次が含まれています。
Windows x64およびWindows Itaniumに対応する64ビットODP.NET
ODP.NETは、次の64ビットのWindowsプラットフォームに対する64ビット.NET Frameworkをネイティブにサポートしています。
AMD64およびIntel EM64Tプロセッサに対応するWindows x64
Intel Itaniumに対応する64ビットWindows
64ビット・システムにより、ODP.NETアプリケーションはさらに拡張的になり、そのパフォーマンスが向上しました。
Windowsレジストリを介するFetchSize
の構成
この機能により、アプリケーションはレジストリを介するデフォルトの結果セットのフェッチ・サイズを指定できます。
System.Transactions
のローカル・トランザクション・サポート
この機能により、System.Transactions
は、分散トランザクションではなくローカル・トランザクションを使用できます。これは、レジストリまたは接続文字列属性のいずれかから指定できます。
Oracle Data Provider for .NETリリース10.2.0.2には次が含まれています。
Microsoft ADO.NET 2.0のサポートには次が含まれます。
プロバイダ・ファクトリ・クラスおよびベース・クラス
データ・アクセス・コードを単純化して、プロバイダの汎用APIで複数のデータ・ソースにアクセスします。
接続文字列ビルダー
エラーを起こしにくく、管理しやすい接続文字列を作成します。
データ・ソース列挙子
アプリケーションによって、そのアプリケーションが接続できるOracleデータ・ソースのコレクションを一般的に取得できます。
スキーマ検出のサポート
アプリケーション開発者は、表、列およびストアド・プロシージャなどのデータベース・スキーマ情報を検出し、戻すことができます。
System.Transactionsのサポート
ODP.NETでは、System.Transactions
ネームスペース・モデルを使用する暗黙的および明示的トランザクションをサポートします。
バッチ処理のサポート
OracleDataAdapter.Update
メソッドがコールされると、バッチ処理が有効になります。
Oracle Data Provider for .NETリリース10.2には次が含まれています。
サーバー側の機能
Oracle Data Provider for .NETのサーバー側の機能は、.NETストアド・プロシージャからのデータ・アクセスを提供します。このようなプロシージャは、Windows上のOracleデータベースに含まれる新機能のOracle Database Extensions for .NETにより有効になります。
クライアント識別子のサポート
Oracle Data Provider for .NETは、OracleConnection.ClientId
プロパティを公開するため、Oracle Virtual Private Database(VPD)およびアプリケーション・コンテキストをサポートしています。クライアント識別子により開発者はより簡単にVPDを構成できるようになります。
Oracle Real Application Clusters(Oracle RAC)に対する接続プールの最適化
Oracle Data Provider for .NETは、ロード・バランシング・アドバイザリおよびサービスの目的に基づいてOracle RACインスタンス間の作業要求のバランスを調整することにより、Oracle RACデータベースの接続プーリングを最適化します。さらに、ODP.NET接続プールを有効にして、Oracle RACサービス、インスタンスまたはノードの停止により動作継続中の接続に関連付けられているリソースを事前に解放できます。
Database Change Notificationサポート
Oracle Data Provider for .NETでは、Continuous Query Notificationをサポートする通知フレームワークが提供されます。これにより、問合せ結果セットまたはデータベースの状態に変更があったときにアプリケーションが通知を受け取れます。
接続プーリングの管理
Oracle Data Provider for .NET接続プール管理は、ODP.NETアプリケーションに関する明示的な接続プール管理を提供します。アプリケーションはすべての接続プール内の接続を明示的にクリアできます。
Oracle Database 10gリリース2(10.2)以降でのLOBパフォーマンスおよび機能の向上
IN
およびIN
/OUT
、REF
CURSOR
オブジェクトのサポート
この機能により、アプリケーションはPL/SQLプロシージャまたはファンクションからREF
Cursor
を取得して、別のストアド・プロシージャまたはファンクションへ渡すことができます。
Oracle Data Provider for .NETリリース10.1.0.3には次が含まれています。
この機能では、各セッションの文のキャッシュを提供および管理します。開発者はキャッシュされる文とその数を制御できます。これによりパフォーマンスとスケーラビリティが向上します。
.NET Framework 1.1の拡張機能
これらの拡張機能により、Microsoft .NET Framework 1.1で導入された新しいADO.NET機能が公開されます。
コマンドのキャンセルおよびタイムアウトのサポート
これら2つの新機能はコマンドの取消しに関連しています。CommandTimeout
機能は実行後に指定した時間が経過するとコマンドの実行を取り消し、Cancel
メソッドはコマンドの実行を終了するようアプリケーションによって明示的にコールできます。
DeriveParameters
メソッド
このメソッドは、パラメータ情報のデータベースを問い合せてストアド・プロシージャまたはファンクションを表すOracleCommand
のパラメータ・コレクションを作成します。
LOB検索の拡張機能
選択リストに主キー、ROWID
または一意キーが含まれない場合でも、LOB列データ全体を取得できます。この拡張機能は、InitialLOBFetchSize
プロパティ値をCLOB
およびBLOB
オブジェクトに対して-1
に設定することで使用可能になります。
LONG
検索の拡張機能
選択リストに主キー、ROWID
または一意キーが含まれない場合でも、LONG
列データ全体を取得できます。この拡張機能は、InitialLONGFetchSize
プロパティ値を-1
に設定することで使用可能になります。
Oracle Data Provider for .NETリリース10.1には次が含まれています。
ODP.NETはグリッド対応であり、開発者は使用しているアプリケーション・コードを変更せずにOracle Database Gridサポートの利点を受けられます。
データベース内でのBINARY_FLOAT
およびBINARY_DOUBLE
データ型のサポート
ODP.NETは、新規のネイティブなデータベース型であるBINARY_FLOAT
およびBINARY_DOUBLE
をサポートしています
ODP.NETは、複数のOracleホームにインストールできます。
複数のホームを使用可能にするには、いくつかのODP.NETファイルにバージョン番号を含めること、およびHOME
ID
の使用が必須です。
データベース内のスキーマ・ベースXMLType
のサポート
ODP.NETは、ネイティブ・スキーマ・ベースのXMLType
をサポートしています。
Oracle Technology Network(OTN)上でリリースされたOracle Data Provider for .NETリリース9.2.0.4には次が含まれています。
ODP.NETでのXMLサポート
XMLサポートにより、現在ODP.NETでは次の機能が実行できます。
XMLデータをそのままの形で、ネイティブなOracleデータベース型であるXMLType
として、データベースに格納します。
Oracle DatabaseインスタンスからMicrosoft .NET環境へ、XMLデータとしてリレーショナル・データおよびオブジェクト・リレーショナル・データにアクセスし、Microsoft .NET Frameworkを使用してXMLを処理します。
XMLデータを使用してデータベースに変更を保存します。
PL/SQL連想配列バインドのサポート
ODP.NETは、PL/SQL連想配列(従来のPL/SQL索引付き表)バインドをサポートしています。
アプリケーションは、OracleParameter
プロパティを使用し、OracleParameter
をPL/SQL連想配列としてPL/SQLストアド・プロシージャにバインドできます。
OracleCommand
およびOracleDataReader
オブジェクトでのInitialLOBFetchSize
プロパティのサポート