このリリースでのOracle Data Provider for .NETの変更点
ここでは、ODP.NETリリースごとに追加された新機能について説明します。リリース別のこれらの新機能のサマリーは、オラクル社のWebサイトでも入手できます。
Oracle Data Provider for .NET 23cでの変更点
23c用Oracle Data Provider for .NETでの変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core - 非同期プログラミング
ODP.NETでは、コア・ドライバとマネージド・ドライバで.NET Task Asynchronous Programming (TAP)モデルがサポートされています。TAP、asyncキーワードおよびawaitキーワードのサポートにより、ODP.NETのデータ・アクセス操作は、より応答性が高くなり、非同期性に関する開発がより簡単になります。この機能には、Entity Framework CoreおよびEntity Frameworkの非同期問合せおよび保存のサポートが含まれます。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core - パイプライン処理
ODP.NET Coreドライバおよび管理対象ドライバでは、そのデータベース通信でパイプライン処理がサポートされています。これにより、ODP.NETでデータベース・レスポンスを待機中であっても、後続のデータベース・リクエストが透過的に送信されキューに入れられるようになります。パイプライン処理を利用すると、アプリケーション全体のパフォーマンスが向上し、データベース・リソースをより効果的に使用できるようになります。ODP.NETは、後続のリクエストを送信する前に、データベースが以前のリクエストから応答するまで待つ必要がありません。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core – OpenTelemetry
OpenTelemetryは、テレメトリ・データをインスツルメント、生成、収集およびエクスポートするための一般的なオープン・ソースの可観測性フレームワークです。複数のサービスがトレース、メトリックおよびログの統合バージョンを提供できるように、共通の仕様とプロトコルを提供します。
OpenTelemetryの可観測性と標準をサポートするために、多数の管理対象ODP.NETおよびODP.NET Core APIがインスツルメントされています。開発者およびオペレータは、OpenTelemetryで収集されたODP.NETメトリックをカスタマイズできます。
OpenTelemetryのサポートにより、この業界標準を使用して、クラウド・コンピューティング、マイクロサービスおよび分散システムでのODP.NET操作の相互作用状況のモニタリング、追跡および分析がさらに簡単になりました。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core - アドバンスト・キューイングおよびトランザクション・イベント・キュー
ODP.NET Coreおよび管理対象ODP.NETでは、マイクロサービスなどの最新のアプリケーションで使用できる、アドバンスト・キューイング(AQ)およびトランザクション・イベント・キュー(TxEventQ)のアプリケーション・プログラミング・インタフェース(API)がサポートされるようになりました。TxEventQの高度に最適化されパーティション化された実装では、Oracleデータベースの機能を活用することで、プロデューサとコンシューマで、メッセージの永続的保存による高スループットのメッセージ交換が可能になり、様々なデータベース上の複数のキューの間でのメッセージ伝播が可能になります。TxEventQは、キューごとに複数のイベント・ストリームを保持する高性能のパーティション化された実装です。AQは、それより単純なワークフローのユース・ケース用のディスク・ベースの実装です。
ODP.NET開発者は、TxEventQとAQのどちらを使用する場合でも、同じAPIを利用できます。それらのAPIを使用すると、Oracleデータベースと統合された、堅牢で機能豊富なメッセージ・キューイング・システムにアクセスできます。それをWeb、モバイル、IoTなどのデータ駆動型アプリケーションやイベント駆動型アプリケーションとともに使用して、イベントをストリーミングすることや、ワークフローの一部として相互に通信することができます。
-
管理対象ODP.NETおよびODP.NET Core - アプリケーション・コンティニュイティおよび透過的アプリケーション・コンティニュイティ
ODP.NETコア・ドライバおよびマネージド・ドライバで、アプリケーション・コンティニュイティ(AC)と透過的アプリケーション・コンティニュイティ(TAC)がサポートされるようになりました。ACやTACを使用すると、リカバリ可能な停止の後に未完了データベース・セッション(トランザクションを含む)がリカバリされることで、エンド・ユーザーとアプリケーションに停止が認識されることがなくなります。このリカバリは透過的であり、エンド・ユーザーにはわずかな実行遅延しか認識されず、認識できるような停止やエラーは発生しません。
ACやTACによって、計画外停止と計画的メンテナンスの両方について、ユーザー・エクスペリエンスが向上します。それらにより、Oracleデータベースを使用するシステムおよび.NETアプリケーションのフォルト・トレランスが向上します。開発者は、コードを変更することなく、既存の.NETアプリケーションとともにACやTACを使用できます。
-
JSONリレーショナル二面性
JSONリレーショナル二面性は、リレーショナル・データに関する十分に更新可能なJSONビューとして現れます。データは非常に効率的な正規化された形式でリレーショナル表に格納されたままですが、JSONドキュメントの形式で.NETアプリケーションからアクセスできます。すべてのODP.NETプロバイダ・タイプ(Core、管理対象および管理対象外)で、JSONリレーショナル二面性の使用がサポートされています。
二面性ビューでは、リレーショナル・モデルまたはドキュメント・モデルを使用してアプリケーションを構築する際に.NET開発者が直面していた過去の課題は克服されているため、画期的な柔軟性と簡潔性が実現されます。
関連項目:
-
SQL BOOLEANデータ型に対するOracleクライアント・ドライバのサポート
Oracleクライアント・ドライバでは、新しい
BOOLEAN
データベース列のフェッチおよびバインドがサポートされています。アプリケーションで、ネイティブ・データベースのBOOLEAN
列データ型とネイティブ・ドライバのBOOLEAN
データ型を併用できます。この機能拡張により、開発者はBOOLEAN
データ型をより簡単に使用できるようになりました。 -
True Cache
Oracle True Cacheは、自動的に管理されて一貫性のある、読取り専用、インメモリー、高パフォーマンスのSQLおよびキー値キャッシュです。これにより、データベース・サーバーの負荷を軽減しながら、アプリケーションのレスポンス時間が短縮されます。自動管理と一貫性により、アプリケーション開発が簡素化され、開発者の労力とコストが削減されます。
すべてのODP.NETプロバイダ・タイプは、コードを変更することなく、Oracle True Cacheを透過的に使用できます。
-
管理対象ODP.NETおよびODP.NET Core - 一元化された構成プロバイダ
管理対象ODP.NETおよびODP.NET Coreでは、一元化されたAzure App Configurationのストアからアプリケーション構成データが安全に格納および取得されます。このストアには、接続記述子やチューニング・パラメータなどの接続情報が含まれています。
一元化されたアプリケーション構成により、特にマイクロサービス、クラウド・アプリケーション・サービス、サーバーレス・アプリケーションなどの最新のアーキテクチャでは、クライアントの管理および複数のデプロイメント間での共有が簡素化されます。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core - Azure Active Directoryシングル・サインオン
ODP.NETは、Microsoft Azure Active Directory (Azure AD) OAuth 2.0アクセス・トークンを使用してOracleデータベースにログインできます。ユーザーは、Azure ADを使用して1回サインオンし、そのトークンを取得し、オンプレミスおよびクラウドベースのOracleデータベースにアクセスできます。この機能は、ODP.NET CoreおよびManaged ODP.NETで使用できます。このマルチクラウド機能により、ユーザー・アクセスおよび管理が簡略化されることで、Azure ADとOracle Databaseの間の認証と認可が容易になります。
-
管理対象ODP.NETおよびODP.NET Core – Oracle IAM SSOトークン
ODP.NETでは、Oracle Cloud Database Servicesを含め、Oracleクラウド・サービス全体にわたり統合されたアイデンティティを実現するための、Oracle Identity and Access Management (IAM)クラウド・サービスがサポートされています。ODP.NETでは、IAM SSOトークンを使用して、Oracle CloudおよびOracleクラウド・データベースに対する認証と認可に同じOracle IAM資格証明を使用できるようになりました。
この機能により、シングル・サインオンが可能になり、Azure Active DirectoryおよびMicrosoft Active Directory (オンプレミス)を介したフェデレーション・ユーザーを含めOracle IAMでサポートされているすべてのサービスにアイデンティティを伝播できるようになります。統合されたアイデンティティにより、管理者とエンド・ユーザーにとってユーザー管理とアカウント管理が容易になります。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core – 拡張されたトランザクション管理オプション
デフォルトでは、ODP.NETは、トランザクション外部での各SQL操作の実行後に自動コミットします。管理対象ODP.NETおよびODP.NET Coreでは、自動コミットを無効にできるようになりました。それにより、SQL文を、トランザクションを必要とせずに、明示的なコミットの後に実行できます。
OracleConnection
クラスでは、ローカル・トランザクションを管理するための新しいAPIが追加されます。これらの新機能により、ODP.NET開発者に、柔軟でシンプルなトランザクション管理オプションが提供されます。
関連項目:
-
SQLドメインの名前およびスキーマ
SQLドメインは、スキーマに属するディクショナリ・オブジェクトであり、クレジット・カード番号や電子メール・アドレスなど、共通値のオプション・プロパティおよび制約のセットをカプセル化します。SQLドメインを定義した後、そのドメインに関連付ける表の列を定義して、ドメインのオプションのプロパティおよび制約を明示的にそれらの列に適用できます。
SQLドメインを使用すると、データを一元的に使用する方法を定義できます。これにより、アプリケーション全体で一貫した方法で値を処理し、データ品質を向上させることが容易になります。
すべてのODP.NETプロバイダ・タイプで、SQLドメインの使用、およびSQLドメインのスキーマおよび名前情報の取得がサポートされています。
関連項目:
-
注釈
Oracle Databaseの注釈を使用して、データベース・オブジェクトに関するメタデータを格納および取得できます。これらは、名前と値のペアであるか、名前のみです。これらは、アプリケーションでビジネス・ロジックまたはユーザー・インタフェースのカスタマイズに使用できる、自由形式テキスト・フィールドです。すべてのODP.NETプロバイダ・タイプでOracle Database注釈がサポートされています。
注釈は、すべてのアプリケーションにわたり同じ方法でデータベース・オブジェクトを使用するために役立ちます。これにより、開発が簡素化され、データ品質が向上します。
関連項目:
-
延長されたデータベース・パスワード長
このリリース以降では、Oracle Databaseおよびクライアント・ドライバ(ODP.NET管理対象、管理対象外およびCoreドライバを含む)で、1024バイトまでの長さのパスワードがサポートされています。
-
Transport Layer Security 1.3
ODP.NETでは、Core、管理対象および管理対象外プロバイダで、Transport Layerバージョン1.3がサポートされています。TLSは、データの暗号化と接続の認証に使用されます。TLS 1.3では、TLS 1.2よりも優れたセキュリティとパフォーマンスが提供されます。
-
管理対象ODP.NETおよびODP.NET Core - パーティションセット分割のシャーディング
ODP.NETは、コア・ドライバおよび管理対象ドライバでのパーティションセット分割イベントのシャーディングをサポートしています。パーティションセット分割は、指定されたスーパー・シャーディング・キー内のデータを別のシャード領域に移動するときに実行されるシャーディング・データベースに対する操作です。
ODP.NET接続プールは、これらのパーティション・セット間で分割および移動されるチャンク内のデータに関するデータベース・イベントを受け取ります。プロバイダは、エンド・ユーザーが使用する正しい接続を分配できるように、そのシャーディング・トポロジを適切かつ透過的に更新します。
-
管理対象ODP.NETおよびODP.NET Core - プログラムによるデータベースの起動および停止操作
データベース管理者権限を持つユーザーは、
OracleDatabase
クラスを使用して、管理対象ODP.NETおよびODP.NET Coreでデータベース・インスタンスを起動または停止できます。関連項目:
非推奨となった機能
次の機能は、リリース23cのOracle Data Provider for .NETでは非推奨になりました。
-
Oracle Data Provider for .NET管理対象外ドライバ
Oracle Data Provider for .NET (ODP.NET)管理対象外ドライバは、Oracle Database 23cでは非推奨であり、将来のリリースでサポートされなくなる可能性があります。既存の管理対象外ODP.NETアプリケーションをODP.NET管理対象ドライバに移行することをお薦めします。
ODP.NETでは、OracleデータベースへのADO.NETベースのデータ・アクセスが提供されます。Microsoft .NET Frameworkには、ODP.NET管理対象ドライバとODP.NET管理対象外ドライバという2つのプライマリOracleデータ・アクセス・ドライバがあります。
Oracle Database 23cでは、ODP.NET管理対象ドライバは、同じアプリケーション・プログラミング・インタフェースおよび構成設定を持つODP.NET管理対象外ドライバで使用可能なすべての主要な機能をサポートします。管理対象外ODP.NETから管理対象ODP.NETへのコード移行は、既存の.NETアプリケーションの大半では簡単です。ODP.NET管理対象ドライバは、NuGetパッケージングを介して使用できる、よりコンパクトでシンプルなインストールです。管理対象外のODP.NETは、NuGetパッケージとして使用できません。複数の管理対象外ODP.NETデプロイメントよりも、同じマシン上の複数の管理対象ODP.NETデプロイメントを管理する方が容易です。これらのメリットにより、お客様の使用には管理対象外のODP.NETよりも管理対象のODP.NETが優先されます。
管理対象外ODP.NETには管理対象ODP.NETに勝る利点がないため、管理対象外ODP.NETは非推奨になりました。
-
mkstore
ウォレット管理コマンドライン・ツールmkstore
コマンドライン・ユーティリティは、orakpi
が優先して使用されるように、非推奨になりました。 -
MY_WALLET_DIRECTORY
関連項目:
-
非推奨になった機能をすべて示すリストは、Oracle Databaseアップグレード・ガイドを参照してください。
サポート対象外となった機能
このドキュメントで以前説明されていたいくつかの機能は、Oracle Database 23cではサポートされていません。サポート対象外の機能のすべてのリストは、『Oracle Databaseアップグレード・ガイド』を参照してください。
次の機能は、Oracleではサポートされなくなりました。
-
.NET用のOracle Databaseの拡張機能
Oracle Database Extensions for .NETはサポートされなくなりました。.NETコードを中間層に配置するか、外部プロシージャ機能を使用するか、PL/SQLまたはJavaを使用してコードを書きなおすことをお薦めします。
Oracle Database Extensions for .NETは、Microsoft Windows上のOracle Databaseの機能であり、これを使用すると.NETで管理されるC#などの言語で記述されたストアド・プロシージャおよびファンクションを使用できます。
Oracle Databaseは、Oracle Databaseプロセスの外にある外部プロセス内で、Microsoft Common Language Runtime(CLR)をホストします。アプリケーション開発者は、C#やVB.NETなど、任意の.NET準拠言語を使用してストアド・プロシージャおよびファンクションを記述し、これらの.NETストアド・プロシージャを他のPL/SQLまたはJavaストアド・プロシージャと同様にデータベースで使用できます。.NETストアド・プロシージャは、PL/SQLパッケージ、プロシージャ、ファンクションおよびトリガーから、SQL文からでも、またはPL/SQLプロシージャやファンクションをコールできる場所であればどこからでもコールできます。
次の移行オプションがあります。
-
中間層への.NETコード(アセンブリ)の移動
-
外部プロシージャ機能を使用した、.NETアセンブリ外部プロセスのロードと実行
-
PL/SQLまたはJavaを使用したストアド・プロシージャの書きなおし
-
-
Oracle Wallet Manager(OWM)
-
OracleConfiguration.DirectoryType
プロパティ
Oracle Data Provider for .NETリリース21c (21.8)での変更点
Oracle Data Provider for .NETリリース21c (21.8)での変更点は次のとおりです。
Oracle Data Provider for .NETリリース21c (21.7)での変更点
Oracle Data Provider for .NETリリース21c (21.7)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core -- Azure Active Directory
管理対象ODP.NETおよびODP.NET Core 21.7は、Oracle Databaseへの接続時にAzure Active Directory (AAD)認証をサポートします。ODP.NETは、ユーザー名とパスワードのかわりにアクセス・トークンを使用して認証するようになります。
この機能は、Oracleデータベースで一元化されたユーザー認証にAADを使用するアプリケーションおよびサービスに役立ちます。これらのサービスには、ユーザー管理のためにAADに依存するAzureやMicrosoft 365ベースのクラウド・サービス(Microsoft Power BIサービスなど)を含めることができます。
トークン・ベース認証の使用は、エンド・ユーザーにとってより安全で簡単です。ユーザーがリソースにアクセスするたびに資格証明を指定する必要はありません。さらに、リソースは個々のユーザー資格証明を処理および管理する必要がありません。
-
管理対象ODP.NETおよびODP.NET Core -- Transport Layer Security 1.3
管理対象ODP.NETおよびODP.NET Coreでは、Transport Layer Security (TLS)プロトコルのバージョン1.3のサポートが追加されました。TLSを使用すると、アプリケーションで、メッセージの傍受、改ざんおよび偽造を防止できる方法でデータベースと安全に通信できるようになります。
Oracle Data Provider for .NETリリース21c (21.6.1)での変更点
Oracle Data Provider for .NETリリース21c (21.6.1)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core - Oracle Identity and Access Management Cloud Serviceの拡張機能
ODP.NETは、管理およびコア・ドライバ用のOracleクラウド・サービス全体で統一されたアイデンティティを実現するためのOracle Identity and Access Management (IAM)クラウド・サービスのサポートを追加します。ODP.NETでは、認証および認可に同じOracle IAM資格証明を使用できます。
この機能により、シングル・サインオンおよびアイデンティティをOracle IAMでサポートされるすべてのサービスに伝播できます。統合されたアイデンティティにより、管理者とエンド・ユーザーにとってユーザー管理とアカウント管理が容易になります。
管理対象ODP.NETは、トークン認証用のIAMデータベース・パスワード・ベリファイア、トークンおよびデータベース代替パスワードのサポートを追加します。
ODP.NET Coreには、IAMデータベースのパスワード・ベリファイアおよびトークンがすでにサポートされています。この新しいバージョンでは、ODP.NET Coreでトークン認証用のデータベース代替パスワードが追加されています。
-
ODP.NET Core - マルチプラットフォーム・セキュア外部パスワード・ストア
安全性の高い外部パスワード・ストア(SEPS)は、パスワードの資格証明を安全に格納するクライアント側ウォレットの使用です。ODP.NET Coreは、Windowsのみでなく、サポートする任意のオペレーティング・システムで外部パスワード・ストアを使用するように構成できるようになりました。
Oracleウォレットは、認証および署名用資格証明を安全に格納するコンテナです。ウォレットにより、データベース接続をパスワード資格証明に依存する大規模なデプロイメントを簡素化できます。アプリケーションでは、埋込みユーザー名およびパスワードが必要なくなり、これによりセキュリティ・リスクを減らします。
関連項目:
Oracle Data Provider for .NETリリース21c (21.5)での変更点
Oracle Data Provider for .NETリリース21c (21.5)での変更点は次のとおりです。
Oracle Data Provider for .NETリリース21c (21.4.1)での変更点
Oracle Data Provider for .NETリリース21c (21.4.1)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET 6ランタイムの動作保証
ODP.NET Coreは、.NET 6で動作保証されています。
-
Entity Framework Core 6
ODP.NET Entity Framework (EF) Coreでは、OracleデータベースでのEntity Framework Core 6をサポートするようになりました。Entity Framework Coreは、.NET開発者が.NETオブジェクトを使用してリレーショナル・データベースを使用できるようにするプラットフォーム間Microsoftオブジェクト・リレーショナル・マッパーです。
-
ODP.NET Core - Oracle Identity and Access Management Cloud Service
ODP.NETは、Oracle Cloud Database Servicesを含むOracleクラウド・サービス(コア・ドライバを含む)全体で統合されたアイデンティティを実現するためのOracle Identity and Access Management (IAM)クラウド・サービスをサポートしています。ODP.NETでは、認証および認可に同じOracle IAM資格証明を使用できます。
この機能により、シングル・サインオンおよびアイデンティティをOracle IAMでサポートされるすべてのサービスに伝播できます。統合されたアイデンティティにより、管理者とエンド・ユーザーにとってユーザー管理とアカウント管理が容易になります。
Oracle Data Provider for .NETリリース21c (21.4)での変更点
Oracle Data Provider for .NETリリース21c (21.4)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core - 組込みのトラストポイントを使用した一方向のTLS/SSL (ウォレットなし)
ODP.NET Coreおよび管理対象ODP.NETでは、ウォレットなしの一方向のTransport Layer Security/Secure Sockets Layerがサポートされるようになりました。ウォレットを提供する必要がなければ、Oracle Autonomous Databaseなどのデータベース接続を簡素化できます。
-
ODP.NET Core -- UbuntuおよびDebian Linux
ODP.NET Coreは、追加のLinuxディストリビューション(UbuntuおよびDebian)の認定を追加します。
関連項目:
Oracle Data Provider for .NETリリース21c (21.3)での変更点
Oracle Data Provider for .NETリリース21c (21.3)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core - ユーザー定義タイプ
ODP.NET Coreおよび管理対象プロバイダは、ユーザー定義型(UDT)をサポートするようになりました。これには、Oracle Collections (VARRAYおよびネストされた表)、Oracle Objectsおよび参照(REF)が含まれます。これらの新しい機能は、既存のODP.NET管理対象外ドライバUDT機能とほぼ同等の機能を提供します。この新しい拡張機能により、管理対象外ODP.NETアプリケーションの大部分を、最小限のコード変更で管理対象ODP.NETまたはODP.NET Coreに簡単に移行できます。
-
OracleConfiguration SqlnetURI設定
ODP.NET
OracleConfiguration SqlnetURI
プロパティは、名前がSqlNetURI
に変更されています。この設定は、WebSocketユニバーサル・リソース識別子を指定します。変更は、.NETのPascalCasingの大文字小文字に関する規則への準拠の向上を反映しています。プロパティを現在使用している場合は、適宜コードを変更してください。
非推奨となった機能
次のプロパティおよび設定は、Oracle Data Provider for .NET for Release21cで非推奨になりました。
-
OracleConfiguration DirectoryType
プロパティ -
構成ファイルの
DIRECTORY_TYPE
設定OracleConfiguration DirectoryServerTypeプロパティ
は、DirectoryType
プロパティを置き換えます。.NET構成ファイルのDIRECTORY_SERVER_TYPE
設定によって、DIRECTORY_TYPE
設定が置換されます。これらのプロパティはすべて同一の機能を持ちます。開発者は、新しいプロパティを使用して移行することをお薦めします。DirectoryServerType
およびDIRECTORY_SERVER_TYPE
の名前は、同等の機能を提供するDIRECTORY_SERVER_TYPE
よりも、ldap.ora
パラメータに合わせて調整されています。
関連項目:
-
非推奨になった機能をすべて示すリストは、Oracle Databaseアップグレード・ガイドを参照してください。
Oracle Database Extensions for .NETの非推奨
Oracle Database Extensions for .NETはOracle Database 21cでは非推奨になりました。.NETコードを中間層に配置するか、外部プロシージャ機能を使用するか、PL/SQLまたはJavaを使用してコードを書きなおすことをお薦めします。
日付: 2021年9月
Oracle Database Extensions for .NETは、Microsoft Windows上のOracle Databaseの機能であり、これを使用すると.NETで管理されるC#などの言語で記述されたストアド・プロシージャおよびファンクションを使用できます。
Oracle Databaseは、Oracle Databaseプロセスの外にある外部プロセス内で、Microsoft Common Language Runtime(CLR)をホストします。アプリケーション開発者は、C#やVB.NETなど、任意の.NET準拠言語を使用してストアド・プロシージャおよびファンクションを記述し、これらの.NETストアド・プロシージャを他のPL/SQLまたはJavaストアド・プロシージャと同様にデータベースで使用できます。.NETストアド・プロシージャは、PL/SQLパッケージ、プロシージャ、ファンクションおよびトリガーから、SQL文からでも、またはPL/SQLプロシージャやファンクションをコールできる場所であればどこからでもコールできます。
次の移行オプションがあります。
- 中間層への.NETコード(アセンブリ)の移動
- 外部プロシージャ機能を使用した、.NETアセンブリ外部プロセスのロードと実行
- PL/SQLまたはJavaを使用したストアド・プロシージャの書きなおし
Oracle Data Provider for .NET (21.1)での変更点
Oracle Data Provider for .NET (21.1)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
Entity Framework Core 5
ODP.NET Entity Framework (EF) Coreでは、OracleデータベースでのEntity Framework Core 5をサポートするようになりました。Entity Framework Coreは、.NET開発者が.NETオブジェクトを使用してリレーショナル・データベースを使用できるようにするプラットフォーム間Microsoftオブジェクト・リレーショナル・マッパーです。
-
Oracle Database JSONデータ型
ODP.NETは、Oracle DatabaseのネイティブJavaScript Object Notation (JSON)データ型をサポートします。新しいJSONデータ型は、問合せおよびDML処理用に最適化されており、JSONの処理でデータベースのパフォーマンスが向上します。
.NET文字列または
OracleString
を使用するとき、JSONデータ型はOracleDbType.Json
列挙値を使用してパラメータとしてバインドできます。ODP.NET Core、管理対象、管理対象外はすべて、これらの新しいJSON機能をサポートしています。 -
クライアント開始の連続問合せ通知
クライアント開始の連続問合せ通知(CICQN)は、ODP.NETで使用可能な従来の連続問合せ通知(CQN)機能と似ています。CQNでは、クライアントの問合せ結果セット、基礎となるスキーマ・オブジェクト、またはデータベースの状態に影響を与えるサーバー側の変更が発生すると、アプリケーションはクライアント側の通知を受け取ります。この通知はプロセス外であり、既存のODP.NET接続なしで発生します。
CICQNでは、プロセス内通知が使用されます。ODP.NETでは、通知を受信するためにプールごとに1つの個別の接続が作成されます。データベース・サーバーは、この特定の接続を使用して、変更通知をODP.NETに送信します。CICQNは、クラウド・デプロイメントなど、クライアントとデータベース・サーバー間でプロセス外通信を使用できない場合に便利です。
関連項目:
-
管理対象ODP.NETおよびODP.NET Core – Oracle Globally Distributed Database
ODP.NET Coreおよび管理対象プロバイダがシャーディングをサポートするようになりました。Oracle Globally Distributed Databaseでは、独立した複数のOracleデータベース(シャード)間で水平パーティション化が可能です。接続文字列で指定されたキーに基づいて、ODP.NETはデータベース・リクエストを特定のシャードにルーティングできます。Oracle Globally Distributed Databaseは、シェアードナッシング・アーキテクチャであり、ローカルまたはグローバルな1つ以上のデータ・センターに配置された低コストのコモディティ・データベース・サーバー間で、データベースをリニアにスケールできます。そのほかにも、データ分散(特定のデータをコンシューマの近くに格納する)、障害の封じ込め(1つのシャードで障害が発生しても他のシャードの可用性には影響しない)といったメリットがあります。Global Data Servicesが、シャード間でデータの場所をメッセージ送信するので、ODP.NETのクライアント・リクエストはこの分散データベース・システムで適切なシャードにルーティングすることができます。
管理対象外ODP.NETがサポートするのと同じシャーディング機能に加えて、ODP.NET管理対象およびコアは、チャンク移行中の接続リクエストの一時停止もサポートします。チャンクの移行でシャード間を移動するのに十分な時間を与えないと、ユーザーはタイムアウトに気が付きません。
-
新しい管理権限
ODP.NETでは、データベース管理職務の分離を可能にするために、タスク固有で最小限の管理権限の割当がサポートされるようになりました。新しく追加された権限には、バックアップとリカバリ用の
SYSBACKUP
、Oracle Data Guard用のSYSDG
、暗号化キー管理用のSYSKM
、Oracle Real Applications Clusters操作用のSYSRAC
が含まれます。コア、管理対象および管理対象外ODP.NETでは、これらすべての管理権限がサポートされます。関連項目:
-
管理対象ODP.NETおよびODP.NET Core -- デバッグ・トレースのリダクション
管理対象ODP.NETおよびODP.NET Coreでは新しいトレース・レベルが導入され、SQL文およびネットワーク・パケットの内容がトレース・ファイルに含まれないように除外できます。
関連項目:
Oracle Data Provider for .NET (19.16)での変更点
Oracle Data Provider for .NET (19.16)での変更点は次のとおりです。
Oracle Data Provider for .NET (19.15.1)での変更点
Oracle Data Provider for .NET (19.15.1)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
Azure Active Directory
ODP.NET 21.7および19.15.1以降、ODP.NETはOracle Databaseへの接続時にAzure Active Directory (AAD)認証をサポートしています。ODP.NETは、ユーザー名とパスワードのかわりにアクセス・トークンを使用して認証するようになります。
この機能は、Oracleデータベースで一元化されたユーザー認証にAADを使用するアプリケーションおよびサービスに役立ちます。これらのサービスには、ユーザー管理のためにAADに依存するAzureやMicrosoft 365ベースのクラウド・サービス(Microsoft Power BIサービスなど)を含めることができます。
トークン・ベース認証の使用は、エンド・ユーザーにとってより安全で簡単です。ユーザーがリソースにアクセスするたびに資格証明を指定する必要はありません。さらに、リソースは個々のユーザー資格証明を処理および管理する必要がありません。
関連項目:
Oracle Data Provider for .NET (19.10)での変更点
Oracle Data Provider for .NET (19.10)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET 5ランタイムの動作保証
ODP.NET Coreは、.NET 5で動作保証されています。
-
管理対象ODP.NETおよびODP.NET Core -- 一括コピー
ODP.NET一括コピーを使用すると、アプリケーションではあるデータベースの表から異なるデータベースの別の表に大量のデータを効率よくロードできます。管理対象ODP.NETおよびODP.NET Coreでは、一括コピーとそのすべてのAPIがサポートされるようになりました。
ODP.NET一括コピーは、大規模なデータ・セットを表にロードしたり、様々なデータベースのデータベース表間でロードする必要がある場合に、最も最適化された.NETソリューションです。
関連項目:
-
DataSetおよびDataTableへのOracleプロバイダ・タイプのデシリアライゼーション
アプリケーション・セキュリティを強化するためにすべての.NETバージョンが変更されたため、許可されたデシリアライズ可能な
DataSet
およびDataTable
データ型が制限されるようになりました。この変更は、.NET 5、.NET Core、および新しい更新を使用する.NET Frameworkに適用されます。アプリケーションDataSets
およびDataTables
がこれらの新しい.NETバージョンのいずれかでODP.NETデータ型を使用している場合、ODP.NETタイプ・イニシャライザ例外が発生する可能性があります。この例外を回避するには、開発者はODP.NET固有のデータ型を許可リストに追加して、DataSet
またはDataTable
へのデシリアライゼーションを許可できます。これを行うには、
OracleConfiguration
AddOracleTypesDeserialization
メソッドをコールするか、.NET構成ファイルを介してタイプを個別に追加します。 -
ODP.NET Core -- Windows以外のプラットフォーム上のKeepAlive
KeepAlive
は、Oracle LinuxなどのWindows以外のオペレーティングシステムでサポートされています。以前のリリースのODP.NET Coreでは、これらのKeepAlive
プロパティはWindowsプラットフォームでのみサポートされていました。プロパティには、KeepAlive
、KeepAliveInterval
およびKeepAliveTime
が含まれます。KeepAlive
は、ファイアウォールやロード・バランサなどによってアイドル状態のTCP接続がクローズされるのを防ぐために使用されます。一部のクラウド・デプロイメントでは、このアイドル状態のTCP接続タイムアウトは変更できません。KeepAlive
は、データを含まないプローブ・パケットを定期的に送信し、ACKフラグをオンにすることによって、接続を存続します。関連項目:
-
GetDecimal無効キャスト例外の抑制
SuppressGetDecimalInvalidCastException
プロパティは、OracleDataReader
およびOracleDataAdapter
クラスに追加されました。有効にして、GetDecimal
がアプリケーションによって明示的にOracleDataReader
オブジェクトに対してコールされるか、たとえばOracleDataAdapter
オブジェクトのFill()
メソッドを介して暗黙的にコールされた場合、InvalidCastException
を抑制し、OracleNUMBER
を表す28または29の精度に四捨五入された.NET Decimal値を返します。 -
ODP.NET Core -- Windows以外のプラットフォーム用のLDAP
ODP.NET Coreでは、Oracle LinuxやRed Hat Enterprise Linuxなど、プロバイダがサポートするすべてのWindows以外のオペレーティング・システムからLDAP準拠ディレクトリ・サーバーの接続記述子にマップされたネット・サービス名での接続がサポートされるようになりました。すべてのプラットフォーム上のODP.NET Coreアプリケーションは、LDAP認証を使用してOracle Databaseに接続できるようになりました。
Oracle Data Provider for .NET (19.9)での変更点
Oracle Data Provider for .NET (19.9)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
インバンド高速アプリケーション通知
クラウド・デプロイメントや、ファイアウォールがデータベースとクライアント間の通知メッセージをブロックする場合など、一部のシナリオではアウト・オブ・バンド・メッセージやOracle Notification Serviceの使用が不可能な場合があります。これらのシナリオでは、ODP.NETはかわりにインバンドFAN通知を使用できます。インバンド通知は、既存のODP.NET接続に依存してメッセージを通信します。ODP.NETは、接続がデータベース・ラウンドトリップするたび、チェックインまたはチェックアウトするたびに通知をチェックします。DOWN通知を受信すると、ODP.NETは影響を受ける接続をプールでスキャンし、それらをクローズします。
この機能は、19.9で管理対象ODP.NETおよびODP.NET Coreに導入されました。これは19.10で管理対象外ODP.NETに導入されました。
関連項目:
Oracle Data Provider for .NET ODACリリース19c (19.3.2)での変更点
ODAC 19c (19.3.2)のOracle Data Provider for .NETでの変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
Entity Framework Core 3.1
ODP.NET Entity Framework (EF) Coreでは、OracleデータベースでのEntity Framework Core 3.1をサポートするようになりました。Entity Framework Coreは、.NET開発者が.NETオブジェクトを使用してリレーショナル・データベースを使用できるようにするプラットフォーム間Microsoftオブジェクト・リレーショナル・マッパーです。ODP.NET EF Coreのこのリリースでは、リレーショナル・ビューおよびマテリアライズド・ビューのサポートが追加されました。これらのビューは、読取り専用または更新可能にすることができます。
Oracle EF Core 3.1開発者は、Oracle Databaseでデータ・モデルを作成および移行できるようになりました。Oracle Databaseスキーマ・オブジェクトに基づいて、EF Coreクラスをスキャフォールドできます。Oracleビューを使用して移行およびスキャフォールドできます。Oracle EF Coreは、EF Coreパッケージ・マネージャ・ツールなど一般的なEF Coreツールと統合されています。
Oracle Data Provider for .NET (19.7)での変更点
Oracle Data Provider for .NET (19.7)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
管理対象ODP.NETおよびODP.NET Core -- SYSASM権限を使用したストレージの管理
Oracle Automatic Storage Management (Oracle ASM)はボリューム・マネージャであり、Oracleデータベース・ファイル用のファイル・システムです。
SYSASM
は、管理者がASMインスタンスを管理できるシステム権限です。管理対象ODP.NETおよびODP.NET Coreは、SYSASM
管理権限を使用して接続し、Oracle Databaseのストレージ管理を実行できるようになりました。ODP.NETでは、
SYSASM
権限接続を使用して接続するときに、データベースASM管理を実行できるようになりました。関連項目:
-
WebSocketおよびSSL/TLSを使用したWebSocket
WebSocketは、単一のTCP接続を介して全二重通信チャネルを提供するプロトコルです。SSL/TLSを使用したWebSocketは、セキュアなWebSocket接続を提供します。WebSocketはHTTPの拡張機能であり、HTTPプロキシおよび仲介サービスと連携できます。ODP.NET Core、管理対象プロバイダおよび管理対象外プロバイダはいずれも、WebSocketおよびセキュアなWebSocketプロトコルをサポートしています。
関連項目:
ODACリリース19c (19.3)内のOracle Data Provider for .NETでの変更点
ODAC 19c (19.3)のOracle Data Provider for .NETでの変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
Entity Framework Core
ODP.NET Entity Framework (EF) Coreは、Entity Framework CoreをOracleデータベースで使用できるデータベース・プロバイダです。Entity Framework Coreは、.NET開発者が.NETオブジェクトを使用してリレーショナル・データベースを使用できるようにするプラットフォーム間Microsoftオブジェクト・リレーショナル・マッパーです。
Oracle EF Coreの開発者は、Oracle Databaseでデータ・モデルを作成および移行できるようになりました。Oracle Databaseスキーマに基づいて、EF Coreクラスをリバース・エンジニア/スキャフォールドできます。Oracle EF Coreは、EF Coreパッケージ・マネージャ・ツールなど一般的なEF Coreツールと統合されています。
-
管理対象ODP.NETおよびODP.NET Core -- 新規の
OracleConnection
プロパティへの構成オプションの追加OracleConnection
クラスでは、ODP.NET接続を構成するための追加プロパティが導入されました。新しいプロパティは次のとおりです。-
KeepAlive
、KeepAliveInterval
およびKeepAliveTime
- アイドル状態の接続を維持するかどうか、およびその条件を指定します。 -
TnsAdmin
-tnsnames.ora
およびsqlnet.ora
ディレクトリを指定します。 -
WalletLocation
- ウォレット・ディレクトリの場所を指定します。
ノート:
-
-
管理対象外ODP.NET -- SYSASM権限を使用したストレージの管理
Oracle Automatic Storage Management (Oracle ASM)はボリューム・マネージャであり、Oracleデータベース・ファイル用のファイル・システムです。SYSASMは、管理者がASMインスタンスを管理できるシステム権限です。管理対象外ODP.NETは、SYSASM管理権限を使用して接続し、Oracle Databaseのストレージ管理を実行できるようになりました。
ODP.NETでは、SYSASM権限接続を使用して接続するときに、データベースASM管理を実行できるようになりました。
ノート:
-
動的に有効にされるトレースおよびサイズ制限
診断の使いやすさと生産性を向上させるために、
OracleConfiguration.TraceLevel
プロパティを使用してODP.NETトレース出力を実行時に有効および無効にできるようになりました。トレース・ファイルを管理可能なサイズに抑えるために、TraceFileMaxSize
プロパティを設定できます。管理者は、問題が発生した既知の時間またはイベントのみにトレースを分離できます。この機能は、問題の調査に必要な最小サイズまでトレース・ファイルを抑えるのに役立ちます。トレース・ファイルが大きくなった場合、ODP.NETでは、
TraceFileMaxSize
に設定されている最大ファイル制限に達すると、新しいトレース・ファイルに書き込みます。これらの機能は、コア、管理対象および管理対象外のプロバイダで使用できます。
Oracle Data Provider for .NETリリース19c (19.3)での変更点
Oracle Data Provider for .NETリリース19c (19.3)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET Framework 4.8認定
ODP.NET Core、管理対象ドライバおよび管理対象外ドライバは、.NET Framework 4.8を使用して認定されています。
-
ODP.NET管理対象ドライバ -- コードとしての構成
管理対象ODP.NETでは、
OracleConfiguration
、OracleDataSourceCollection
およびOracleOnsServerCollection
クラスがサポートされるようになりました。開発者はこれらのクラスを使用して、.NET構成やOracle構成ファイルのかわりにソース・コード内で管理対象ODP.NETを構成できます。
-
ODP.NETコア-- Lightweight Directory Access Protocol (LDAP)
ODP.NETコアは、Oracle Internet DirectoryやMicrosoft Active DirectoryなどのLDAP準拠ディレクトリ・サーバーに含まれる接続記述子にマップされる接続識別子を使用できます。プロバイダは、管理対象ODP.NETと同じLDAP機能および設定をサポートします。
ODP.NETコアLDAPのサポートは、Windowsオペレーティング・システムでのみ使用できます。
System.DirectoryServices
ネームスペースが必要です。 -
ODP.NETコア--パフォーマンス・カウンタ
ODP.NETコアは、主要なランタイム接続カウンタをWindows Performance Monitorまたはファイルに公開できます。プロバイダは、管理対象および管理対象外ODP.NETと同じカウンタ、設定プロセスおよび設定をサポートします。
ODP.NETコア・パフォーマンス・カウンタは、Windowsオペレーティング・システムでのみ使用できます。プログラム的にパフォーマンス・カウンタを使用するには、
System.Diagnostics
ネームスペースが必要です。関連項目:
-
簡易接続プラス
Oracle簡易接続プラスでは、
tnsnames.ora
などのパラメータ・ファイルや環境変数を使用せずに、Oracle DatabaseへのTCP/IP接続を簡単に構成できます。簡易接続プラスに含まれるサポートは、次のとおりです。-
SSL/TLS付きTCP/IP/
-
任意のSQL*Net記述レベル・パラメータを使用可能
-
複数のホストおよびポート
-
名前/値ペアのわかりやすい書式
簡易接続プラスは、クラスタ・データベースやクラウド・データベースなど、従来の簡易接続よりも広範にODP.NETアプリケーションの構成をサポートします。
-
-
よりセキュアな Oracle Notification Service接続
ODP.NETでは、SSL/TLS (TCPS)付きTCP/IPを介したOracle Notification Service (ONS)通信が可能になりました。これはTCP/IPのみの場合より安全です。TCPSではキーおよび証明書の格納にウォレットを使用する必要があるため、ODP.NETは、ONSとODP.NETの両方の接続に1つのウォレットを使用することも、それぞれに個別のウォレットを使用することもできます。
TCPSでは、よりセキュアなONS通信が提供され、管理者はウォレットの構成を柔軟に行うことができ、クラウド・データベース接続が可能になります。