Oracle® Data Provider for .NET開発者ガイド ODAC 12c リリース4 (12.1.0.2) for Microsoft Windows E72575-01 |
|
前 |
次 |
この章の内容は次のとおりです。
ODAC 12cリリース4のOracle Data Provider for .NETでの変更点は次のとおりです。
このリリースの新機能は次のとおりです。
.NET Framework 4.6認定
ODP.NET管理対象ドライバと管理対象外ドライバは、.NET Framework 4.6に対応することが認定されています。
詳細は、「システム要件」も参照してください。
ODP.NET管理対象ドライバ - Windowsインストーラ
ODP.NET管理対象ドライバはODAC Microsoft Windowsインストーラ・パッケージの一部として入手できます。
ODP.NET管理対象ドライバ - ネットワーク・データ暗号化
ODP.NET管理対象ドライバは、Advanced Encryption Standard (AES)、RC4またはTriple-DESを使用してデータベース・セキュリティ・ネットワーク・データ暗号化をサポートし、イントラネット・アクセスおよびクラウド・アクセス上に安全なデータベース通信を実現します。
詳細は、「settingsセクション」および「ネットワーク・データ暗号化および整合性」を参照してください。
ODP.NET管理対象ドライバ - 安全な外部パスワード・ストア
ODP.NET管理対象ドライバは、クライアント側のOracleウォレットからパスワード資格証明を取得することで接続の確立をサポートします。
詳細は、「外部パスワード・ストアの使用」も参照してください。
ODP.NET管理対象ドライバ - Microsoft Local Security Authority (MSLSA)
ODP.NET管理対象ドライバはKerberos資格証明キャッシュ・タイプMSLSAをサポートするようになりました。MSLSAはMicrosoft Kerberos Logon Session資格証明キャッシュのアクセスに使用します。
詳細は、「Kerberosの使用」も参照してください。
ODP.NET管理対象ドライバ - SSL/TLS接続は単一ポートを使用します
ODP.NET管理対象ドライバSSL/TLS接続では、動的(エフェメラル)ポートでデータベース・サーバーが作成した新しいリスニング・エンドポイントへの前回のSSL/TLSクライアント・リダイレクションに代わって、データベース・リスナーに対する元の接続を続けます。したがって、ファイアウォールで必要なのはTNS Listenerのポートに対するアクセスのみです。たとえば、1521です。
詳細は、「Transport Layer SecurityとSecure Sockets Layerの使用」も参照してください。
サービス再配置接続タイムアウト
データベース・サービスが使用できなくなるたびに、アプリケーションでは数多くの接続エラーが発生します。使用できないサービスへの接続の試行を避けるために、ODP.NET管理対象ドライバおよび管理対象外ドライバでは、サービスが起動されるか、またはサービスの停止イベントを受け取ってから設定された時間制限で切れるまであらゆる接続の試行をブロックします。この機能は計画停止およびサービスの再配置に有用です。Oracle RACとOracle Data Guardで動作します。
詳細は、「ServiceRelocationConnectionTimeout
」を参照してください。
ODP.NET管理対象外ドライバ - トランザクション・ガード
トランザクション・ガードを使用すると、計画済および計画外の停止時や送信が繰り返された場合に、ODP.NETアプリケーションで実行を1回以下にすることができます。この機能のアーキテクチャはトランザクションのリカバリに必要なアプリケーション・コードを簡素化するために変更されました。開発者は、アプリケーション内でトランザクション・ガードを使用する方が簡単だと感じるでしょう。
詳細は、「論理破損を防ぐためのトランザクション・ガードの使用」も参照してください。
ODP.NET管理対象ドライバ - トランザクション・ガード
ODP.NET管理対象ドライバはトランザクション・ガードをサポートするようになりました。APIとアーキテクチャは、ODAC 12cリリース4のODP.NET対象外ドライバと同じで、開発者の生産性を向上します。
詳細は、「論理破損を防ぐためのトランザクション・ガードの使用」も参照してください。
ODP.NET管理対象外ドライバ - 分散トランザクションの管理対象コード
.NET Framework 4.5.2以上では、Microsoft分散トランザクション・コーディネータを使用して、ODP.NET管理対象外ドライバに分散トランザクション登録およびコミットメント・サービスの管理対象コードが含まれます。以前は、これらのサービスのOracle Services for Microsoft Transaction Serverを使用して、アプリケーションを使用する必要がありました。この新しい機能は、分散トランザクションを使用するODP.NET管理対象外ドライバ・アプリケーションの設定およびデプロイメントを簡素化します。
詳細は、「分散トランザクション」も参照してください。
ODP.NET管理対象外ドライバ - SQL翻訳フレームワーク
SQL翻訳フレームワークはOracle Database 12cで導入され、ベンダー固有の構文のSQL文を使用する.NETクライアント・アプリケーションから意味的に同等のOracleの構文への移行をサポートします。
フレームワークは、Oracle以外のSQLをOracle SQLに自動的に翻訳するため、既存のクライアント側アプリケーション・コードをOracle Databaseに対して大部分は変更することなく実行できます。このため、Oracle Databaseへの移行コストが大幅に削減されます。
詳細は、「Databaseへのアプリケーション移行: SQL翻訳フレームワーク」および「SQL翻訳フレームワークの構成」を参照してください。
拡張の追跡
ODP.NETは、管理対象ODP.NETと管理対象外ODP.NETの間の追跡機能を改善し、統合します。トレースを含む主要な機能では、Windows一時ファイル・ディレクトリに出力するようになり、両方のプロバイダが同じトレース・パラメータを使用します。
詳細は、「デバッグ・トレース」も参照してください。
ODAC 12cリリース3のOracle Data Provider for .NETでの変更点は次のとおりです。
このリリースの新機能は次のとおりです。
Entity Framework Code FirstおよびCode First Migrations
Entity Framework 6以上では、管理対象ODP.NETおよび管理対象外ODP.NETは、Code FirstおよびCode First Migrationsをサポートします。
詳細は、「ADO.NET Entity FrameworkおよびLINQ to Entities」も参照してください。
Entity Framework 6
ODP.NET管理対象ドライバと管理対象外ドライバはネイティブにEntity Frameworkバージョン6で認定されサポートされています。
詳細は、「Entity Frameworkの要件」も参照してください。
NuGet
ODP.NET管理対象ドライバはNuGetパッケージで入手できます。この機能は、カスタマイズされたODP.NET管理対象ドライバの開発者への配布を簡素化します。
Code FirstおよびEntity Framework 6用のEntity Frameworkアセンブリは、別のNuGetパッケージとして入手できます。
NuGetはMicrosoft .NETのパッケージ・マネージャです。NuGetは、参照を追加して構成ファイルを更新することで、ライブラリ・ファイルを.NETソリューションにコピーし、それに応じてプロジェクトを自動的に更新し、ソフトウェアをインストールできます。
詳細は、「Oracle Data Provider for .NET管理対象ドライバのインストール」も参照してください。
ODP.NET管理対象ドライバ - XML DB API
ODP.NET管理対象ドライバは、ODP.NET管理対象外ドライバによってサポートされているすべてのODP.NETのXMLクラスをサポートするようになりました。
Oracle.ManagedDataAccessDTC.dll
のない分散トランザクション
Oracle.ManagedDataAccessDTC.dll
アセンブリは、.NET Framework 4.5.2以上およびODP.NET管理対象ドライバで実行している分散トランザクション・アプリケーションで必要なくなりました。ODP.NETインストールにおいて、Oracle.ManagedDataAccessDTC.dll
はグローバル・アセンブリ・キャッシュ(GAC)に含まれなくなりました。.NET Framework 4.5.1以前を使用するアプリケーションでは、Oracle.ManagedDataAccessDTC.dll
はアプリケーション・ディレクトリまたはGACに置く必要があります。
ODP.NET管理対象ドライバ - Kerberos
Kerberosは、分散環境におけるセキュリティのためのネットワーク認証サービスです。ODP.NET管理対象ドライバは、シングル・サインオンと一元的なユーザー認証の目的でKerberosを使用できるようになりました。
詳細は、「Kerberosの使用」も参照してください。
ODP.NET管理対象ドライバ - 暗黙的なREF CURSOR
ODP.NET管理対象ドライバは新しいOracle Database 12cの暗黙的なREF CURSORのサポートを導入しました。構成は、<implicitrefcursor> .NET構成セクションを使用して発生します。データベースの暗黙的なREF CURSORを使用している際には、bindInfo要素を「暗黙的」のモードで指定してください。
<bindinfo mode="Implicit" />
詳細は、「implicitRefCursorセクション」も参照してください。
構成ファイル: 統一管理対象および管理対象外ODP.NET形式
ODP.NET管理対象外ドライバは、ODP.NET管理対象ドライバと同じ構成ファイル形式を使用するオプションがあります。この形式は単一の統合スキームを使用することで構成を簡素化します。この形式を使用するには、既存の管理対象外ODP.NET構成セクションの名前を<oracle.dataaccess.client>から<oracle.unmanageddataaccess.client>に変更してください。既存の管理対象外ODP.NET要素および値が、ODP.NET管理対象ドライバと同じ形式を使用して新しいセクションでサポートされます。
従来のODP.NET管理対象外ドライバ構成ファイル形式は引き続きサポートされます。
詳細は、「構成ファイルのサポート」も参照してください。
Oracle Data Provider for .NETリリース12.1.0.2での変更点は次のとおりです。
このリリースの新機能は次のとおりです。
.NET Framework 4.5.2認定
ODP.NET、管理対象ドライバと管理対象外ドライバは、.NET Framework 4.5.2に対応することが認定されています。
詳細は、「システム要件」も参照してください。
32KBに拡張された文字データ型
ODP.NET管理対象ドライバは、サイズが32KBまでのVARCHAR2
、NVARCHAR2
およびRAW
データ型をサポートします。この大きなサイズのデータ型を使用するためのコード変更は不要です。
格納可能なデータが増えることで、これらのデータ型を使用できる回数も増えるため、開発者はプログラミングをより柔軟に行うことができます。また、これらのデータ型の新しいサイズによって、SQL ServerからOracle Databaseへのアプリケーション移行も容易になります。
配列バインディングの操作で入力値ごとに影響を受ける行数の戻り値
現在、複数のDML文を実行するために配列バインディングを使用すると、ODP.NET管理対象ドライバによって、影響を受けた行数の合計ではなく、バインドされた配列の入力値ごとに影響を受けた行数をリストする配列が提供されます。この情報によって、より詳しいフィードバックがアプリケーション開発者に提供されます。行数を取得するには、ODP.NETはOracleCommand.ArrayBindRowsAffected
プロパティをコールします。
配列がバインドされたDML実行についてさらに詳しいフィードバックが得られるため、開発者は問合せの有効性やデータ変更が正しく適用されたかどうかを評価しやすくなります。
詳細は、「ArrayBindRowsAffected」も参照してください。
ODAC 12cリリース2のOracle Data Provider for .NETでの変更点は次のとおりです。
このリリースの新機能は次のとおりです。
.NET Framework 4.5.1認定
Oracle Data Provider for .NETは、.NET Framework 4.5.1に対応することが認定されました。
詳細は、「システム要件」も参照してください。
.NET Framework 4.6認定
Oracle Data Provider for .NETは、.NET Framework 4.6に対応することが認定されました。
詳細は、「システム要件」も参照してください。
ODP.NET管理対象ドライバのバージョニングの機能向上
この機能によって、同じアセンブリ・バージョン番号を持つ複数のODP.NET管理対象ドライバ・アセンブリを一意に識別できるようになります。
詳細は、「Oracle Data Provider for .NETバージョニング体系」も参照してください。
ODAC 12cリリース1のOracle Data Provider for .NETでの変更点は次のとおりです。
このリリースの新機能は次のとおりです。
Active DirectoryおよびOracle Internet DirectoryへのLDAP接続
ODP.NET管理対象ドライバでは、LDAPサーバー/サービス、具体的にはMicrosoft Active DirectoryまたはOracle Internet Directoryを経由するTNS別名解決がサポートされます。
この機能によって、ODP.NET管理対象ドライバがディレクトリ・サーバー/サービスを使用してデータベースに接続できるようになります。
「Lightweight Directory Access Protocol」も参照してください。
Oracle Data Provider for .NETリリース12.1での変更点は次のとおりです。
このリリースの新機能は次のとおりです。
ODP.NET管理対象ドライバ
ODP.NETは、100%ネイティブの.NETコードで記述された、完全管理のプロバイダ・バージョンになりました。ODP.NET管理対象ドライバは、ODP.NET管理対象外ドライバのほぼすべての機能を含み、同じアプリケーション・プログラミング・インタフェースを使用します。これによって、既存のODP.NETアプリケーションが容易にODP.NET管理対象ドライバに移行されます。
ODP.NET管理対象ドライバによって、ODP.NETをより簡単に、より迅速にデプロイできます。アセンブリはより少なくなり、わずか1つでデプロイするため、パッチ適用も簡単になり、インストール・サイズは10MB未満に小さくなります。32ビットまたは64ビットのどちらの.NET Frameworkを使用しているかにかかわらず、必要なODP.NET管理対象ドライバのアセンブリは1つのみです。考慮する必要のある管理対象外アセンブリは存在しないため、他のODP.NETバージョンとのサイドバイサイド・デプロイメントは容易です。完全管理のプロバイダであるODP.NETは、コード・アクセス・セキュリティおよびClickOnceデプロイメントとより密接に統合できます。
プラガブル・データベースのサポート
プラガブル・データベース(PDB)は、スキーマ、スキーマ・オブジェクト、非スキーマ・オブジェクトのポータブル・コレクションであり、Oracle Database内に構成すると、個別のデータベースとしてODP.NETに表示されます。そのため、ODP.NETではPDBのシームレスな使用が可能です。
PDBの活用によって、既存のデータベースで切断や再接続を行い、データベースのプロビジョニングや再デプロイメントを素早く実行したり、複数のデータベースに対するパッチ適用やアップグレードを1回の実行コストで済ませたり、PDBを切断して別のコンテナ・データベースに接続することもできます。1台のマシンで、個別のモノリシック・データベースとしてより多くのデータベース・インスタンスをPDBの形で実行できます。また、アプリケーション管理者とOracleシステム管理者のそれぞれの役割を切り離すことも簡単です。
自動増分ID列のサポート
Oracle Database 12cリリース1 (12.1)では、自動増分ID列を導入しました。この列データの操作は、ODP.NET管理対象外ドライバ12.1以降のリリースでサポートされます。通常、ID列は、その他の自然主キー制約がない場合に使用され、表内の行を一意に識別します。
ID列の導入により、自然主キーを持たないアプリケーションのNET開発や、ID列を持つデータベースからのアプリケーション移行が容易になります。
32KBに拡張された文字データ型のサポート
Oracle Database 12cリリース1 (12.1)以降のODP.NET管理対象外ドライバでは、VARCHAR2
、NVARCHAR2
、RAW
の各データ型について、32KBまでのサイズをサポートするようになりました。この大きなサイズのデータ型を使用するためのコード変更は不要です。
格納可能なデータが増えることで、これらのデータ型を使用できる回数も増えるため、開発者はプログラミングをより柔軟に行うことができます。また、これらのデータ型の新しいサイズによって、SQL ServerからOracle Databaseへのアプリケーション移行も容易になります。
ブール・データ型
Oracle Database 12cリリース1 (12.1)では、ODP.NET管理対象外ドライバでOracleBoolean
データ型として格納できる新しいPL/SQLブール・データ型を導入しました。ブール演算によってTRUE
またはFALSE
の値が格納されます。
ODP.NETのOracleBoolean
データ型を使用して、ブール値のパラメータ・バインドおよびデータ型マッピングを簡単に設定できます。
暗黙的なREF CURSORバインドの機能拡張
Oracle Database 12cリリース1 (12.1)のODP.NET 12cでは、ターゲットやREF CURSORデータ型を明示的に指定しなくてもPL/SQLで実行されたSELECT文の結果を取得できます。ODP.NETによって暗黙的にストアド・プロシージャからの結果セットが取得されるため、戻り値を宣言する必要はありません。Entity Frameworkや更新可能なREF CURSORを使用しなければ、あるいはクライアント側に制約メタデータを渡す必要がある場合を除いて、.NET構成ファイルでのREF CURSORメタデータの宣言は不要です。
この機能によって、Oracle結果セットの暗黙的な使用が簡略化されます。また、同様の機能を使用する他社のデータベースからOracle Databaseに移行する場合にも有効です。
配列バインディングの操作で入力値ごとに影響を受ける行数の戻り値
現在、複数のDML文を実行するために配列バインディングを使用すると、Oracle Data Provider for .NET管理対象外ドライバによって、影響を受けた行数の合計ではなく、バインドされた配列の入力値ごとに影響を受けた行数をリストする配列が提供されます。この情報によって、より詳しいフィードバックがアプリケーション開発者に提供されます。行数を取得するには、ODP.NETはOracleCommand.ArrayBindRowsAffected
プロパティをコールします。
配列がバインドされたDML実行についてさらに詳しいフィードバックが得られるため、開発者は問合せの有効性やデータ変更が正しく適用されたかどうかを評価しやすくなります。
APPLY
キーワードのサポート
Language Integrated Query (LINQ)は、.NETの問合せ言語です。LINQは実行時にネイティブ・データベースのSQLに変換されてから、データベースを問い合せます。状況によっては、LINQはラテラル・ビューを取得するために非標準のAPPLYキーワードをSQL翻訳で使用することがあります。Oracle Database 12cリリース1 (12.1)のOracle DatabaseおよびODP.NETでは、APPLYキーワードのサポートを通じて、LINQのサポートが強化されています。
この機能により、SQLAPPLYが使用される偶発的なLINQ問合せが、ラテラル・ビューについてODP.NETおよびOracle Databaseでシームレスに作動できます。
トランザクション・ガードのサポート
Oracle Database 12cリリース1 (12.1)のトランザクション・ガードは、計画済停止や計画外停止の間、アプリケーションから同じトランザクションが重複して送信されるのを防ぎ、ODP.NET管理対象外ドライバ12cアプリケーションのトランザクションのコミット結果を保護します。アプリケーションでは、新しい論理トランザクションIDを使用して、停止後に続くデータベース・セッション内でオープンになっている最終トランザクションの結果が判別されます。アプリケーションは、既知の結果に基づいてトランザクションを再送信するかどうかを確実に決めることができます。トランザクション・ガードを使用しないと、アプリケーションが停止の後に操作を実行しようとして、トランザクションが重複してコミットされ論理破損が発生する可能性があります。
すべてのトランザクションのコミット結果を保護するトランザクション・ガードは、ODP.NETアプリケーションで利用可能です。この機能を使用することで、ODP.NETの開発者はトランザクションの実行を1回以下に制限できます。
リカバリ可能エラーの検出とリカバリ
Oracle Database 12cリリース1 (12.1)で障害が発生した場合、ODP.NET管理対象外ドライバ12cを使用すると、そのトランザクションの障害がリカバリ可能かどうかを判別できます。ODP.NETは、OracleException IsRecoverable
プロパティを戻し、そのトランザクションがリカバリ可能かどうかを示します。TRUEの場合は、アプリケーションはトランザクションを再試行できます。
この機能によって、トランザクションの障害が簡単にリカバリできるかどうかがわかるので、速やかにアプリケーションのリカバリ・プロセスを次のステップへと進めることができます。
高速なデータベース計画済停止のサポート
Oracle Database 12cリリース1 (12.1)では、これからオフラインになるデータベースによって、その停止時間を知らせるアラートが自動的にODP.NETアプリケーションに送信されます。これにより、ODP.NETは新しい接続の割当てを中止し、その特定のインスタンスから接続プールに戻された接続をクローズします。
この機能を使用することで、これからオフラインになるデータベースへのODP.NETの新規接続を防ぎ、エンド・ユーザーの中断を最小限に抑えながら、データベースをすばやくオフラインに切り替えることができます。
Oracle Notification Serviceのサポート
Oracle Notification Service (ONS)は、高速アプリケーション通知(FAN)イベントの通信に使用するパブリッシュおよびサブスクライブ・サービスです。ODP.NETでは、ONSを通じてデータベース・サーバーから高速接続フェイルオーバーおよびロード・バランシングに関するメッセージを受信します。以前のODP.NETは、このFANパブリッシュおよびサブスクライブ・サービスのかわりに、Oracleアドバンスト・キューイング(AQ)を使用していました。
ONSはメモリーベースのサービスであるため、AQよりも高速にメッセージを送信できます。Oracleは、ONSを使用して、すべてのOracleデータ・アクセス・ドライバのパブリッシュおよびサブスクライブ・サービスを統合しています。
グローバル・データ・サービスのサポート
グローバル・データ・サービス(GDS)は、以前はOracle RACに限定されていたサービスの概念をグローバルな分散構成(Oracle RAC、Oracle Data Guard、Oracle GoldenGateの組合せを含む)に拡張する、Oracle Database 12cの機能の1つです。これにより、グローバルな分散構成の任意の場所にサービスをデプロイすることができ、ロード・バランシング、高可用性、データベース・アフィニティなどがODP.NETでサポートされます。
これにより、ODP.NETアプリケーションは、パフォーマンスおよび可用性の向上を図るために、データベース・リソースをグローバルに効率よく活用できるようになりました。また、Oracle RACのサービスの概念を活用するアプリケーションでは、Oracle Data GuardおよびOracle GoldenGateの構成に自動ワークロード管理を利用することも可能です。同様に、Oracle Data GuardまたはOracle GoldenGateユーザーは、レプリケート構成のためにサービスや自動ワークロード管理の利点をフル活用できます。
トランザクションと接続の関連付け
接続をenlist=true
接続文字列属性で暗黙的に登録するか、OracleConnection.EnlistTransaction()
メソッドで明示的に登録しておくと、System.Transactions
トランザクションとの関連付けが行われます。現在のデフォルトでは、ODP.NETの接続がトランザクションからデタッチされるのは、接続オブジェクトをクローズするか、トランザクション・オブジェクトを破棄するときのみです。
旧ODP.NETリリースでは、前述の状況に加えて、トランザクションが完了(コミット、中断、タイムアウト)したときにも接続がトランザクションからデタッチされていました。トランザクションが完了する前にタイムアウト時間を超過すると、そのトランザクションの接続が自動的にバインド解除され、その接続の以降の操作はAutoCommit
モードで実行されます。この場合、タイムアウトする前の操作はロールバックされますが、タイムアウト後に実行した操作はコミットされます。トランザクションをバインド解除する新しいデフォルトの動作では、トランザクションを廃棄する前にトランザクションがタイムアウトした場合、この接続で以降の操作を実行すると、例外とともにアラートがユーザーに送信されます。この新しい動作によって、タイムアウトが発生したときでも、エンド・ユーザーのトランザクションの一貫性が保持されます。
詳細は、「LegacyTransactionBindingBehavior
」を参照してください。
より細分化した接続プール監視
パフォーマンス・カウンタの監視を、アプリケーション・ドメイン、プールまたはデータベース・インスタンスのレベルでできるようになりました。
どのアプリケーション・ドメイン、プールおよびインスタンスが正常に動作し、どれに問題があるかを、簡単に区別できるようになりました。
Oracle Data Provider for .NETリリース11.2.0.3.20での変更点は次のとおりです。
このリリースの新機能は次のとおりです。
.NET Framework 4.5およびEntity Framework 5のサポート
Oracle Data Provider for .NETでは、.NET Framework 4.5およびEntity Framework 5がサポートされます。
詳細は、「システム要件」も参照してください。
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のサポートの詳細は、第4章「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データベースの最新のドキュメントおよびリソースは、次の場所で入手できます。
|
Oracle Data Provider for .NETリリース11.2.0.1.2での変更点は次のとおりです。
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以降のデータベース・リリースで使用可能です。
開発者は、この拡張機能を意識する必要はありません。この機能を使用するためにコードを変更する必要はありません。