このリリースでのOracle Data Provider for .NETの変更点
ここでは、ODP.NETリリースごとに追加された新機能について説明します。リリース別のこれらの新機能のサマリーは、オラクル社のWebサイトでも入手できます。
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をコールすると、InvalidCastExceptionが抑制され、Oracle NUMBER値の精度が28を超える場合は四捨五入された28精度値が返されます。
-
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 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通信が提供され、管理者はウォレットの構成を柔軟に行うことができ、クラウド・データベース接続が可能になります。
ODACリリース18c (18.3)内のOracle Data Provider for .NETでの変更点
ODAC 18c (18.3)のOracle Data Provider for .NETでの変更点は次のとおりです。
Oracle Data Provider for .NETリリース18c (18.3)での変更点
Oracle Data Provider for .NETリリース18c (18.3)での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET Framework 4.7.x認定
ODP.NET管理対象ドライバおよび管理対象外ドライバは、.NET Framework 4.7.xのすべてのバージョン(4.7.1および4.7.2を含む)に対応することが認定されています。
-
OracleCredential
を使用した安全なパスワードODP.NETの
OracleCredential
クラスにより、アプリケーション開発者は、メモリー・ダンプに公開せずにユーザー名とパスワードを接続文字列の外部に格納できます。OracleCredential
は、接続プーリングの有無にかかわらず使用できます。この機能は、ODP.NET 11.2、12.1および12.2の最終リリース、およびODP.NET 18cの最初のリリースで使用できます。
サポート対象外となった機能
このドキュメントで以前説明されていたいくつかの機能は、Oracle Database 18c
(18.3)ではサポートされていません。サポート対象外の機能のすべてのリストは、『Oracle Databaseアップグレード・ガイド』を参照してください。
次の機能は、Oracleではサポートされなくなりました。
-
Oracle.ManagedDataAccessDTC.dll
ODAC 12.2cリリース1内のOracle Data Provider for .NETでの変更点
ODAC 12.2cリリース1のOracle Data Provider for .NETでの変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET Framework 4.7認定
ODP.NET、管理対象ドライバと管理対象外ドライバは、.NET Framework 4.7に対応することが認定されています。
-
Entity Framework 6.2認定
ODP.NET管理対象ドライバと管理対象外ドライバは、Entity Framework 6.2に対応することが認定されています。
-
データベース常駐接続プーリング
データベース常駐の接続プール(DRCP)は、データベース・サーバー・レベルで接続をプールすることでリソース使用率を最適化します。DRCPを使用すると、特に接続が常に使用されているわけではないケースにおいて、異なるクライアント・マシンで実行されるアプリケーション間でサーバー接続を共有できます。DRCPは管理対象または管理対象外ODP.NETクライアント側のプーリングと組み合せて使用して、スケーラビリティを向上させ、データベース・サーバー・レベルでリソース使用率を低下させることができます。
詳細は、「データベース常駐接続プーリング」も参照してください。
-
マルチテナントおよびプラガブル・データベース接続プーリング
Oracle Multitenantは、顧客がアプリケーションを変更することなく、複数のプラガブル・データベースを簡単に統合できるデータベース・アーキテクチャです。このアーキテクチャにより、多数のデータベースを1つのデータベースとして管理する利点をすべて提供しつつ、別々のデータベースの独立性およびリソース優先度付けを維持します。
管理対象および管理対象外ODP.NETは、同じ接続プールから複数のプラガブル・データベースへ接続をホストすることをサポートするようになりました。この機能により、アプリケーションのパフォーマンスおよびスケーラビリティが向上し、同じアプリケーションから複数のプラガブル・データベースを簡単に使用できるようになります。
詳細は、「Oracleマルチテナントおよびプラガブル・データベース」も参照してください。
-
エディションベースの再定義接続プーリング
エディションベースの再定義を利用すると、アプリケーションが使用中のデータベース・コンポーネントをそのままアップグレードして、ダウンタイムを最小限に抑えたり、なくすことができます。管理対象および管理対象外ODP.NETでは、同じ接続プールを使用して複数のエディションに接続できるようになりました。この機能により、同じアプリケーションの異なるエディションを使用する際のパフォーマンスおよびスケーラビリティが向上し、同じアプリケーションの複数のエディションを簡単に使用できるようになります。
詳細は、「エディションベースの再定義」も参照してください。
-
オープン時の接続構成
管理対象および管理対象外ODP.NETは、
ConnectionOpen
イベント・ハンドラを導入します。これにより、ODP.NETがOpen()
メソッドの呼出しから接続される前に開発者は設定ロジックを提供し、設定を変更できます。この機能は、概念的にはログオン・トリガーと似ていますが、クライアント側の初期設定に最適です。プールされている接続とプールされていない接続の両方で動作します。イベント・ハンドラは、接続の初期化のための一元的な標準化された場所を提供します。詳細は、ConnectionOpenも参照してください。
非推奨となった機能
次の機能は、ODAC 12.2c リリース1で非推奨となりました。
-
Oracle.ManagedDataAccessDTC.dll
関連項目:
-
非推奨になった機能をすべて示すリストは、Oracle Databaseアップグレード・ガイドを参照してください。
Oracle Data Provider for .NETリリース12.2.0.1での変更点
Oracle Data Provider for .NETリリース12.2.0.1での変更点は次のとおりです。
新機能
このリリースの新機能は次のとおりです。
-
.NET Framework 4.6.2認定
ODP.NET、管理対象ドライバと管理対象外ドライバは、.NET Framework 4.6.2に対応することが認定されています。
詳細は、「システム要件」も参照してください。
-
.NETクラウドの開発およびデプロイメント
Webデプロイによって、Oracle Cloud、プライベート・クラウドおよびサード・パーティのクラウド環境に、ODP.NET管理対象ドライバとODP.NET管理対象外ドライバを簡単にデプロイできます。ODP.NET固有のすべての設定では、オペレーティング・システム・レベルの構成は必要なくなりました。このような設定は、.NET構成ファイルで行うことができます。管理対象および管理対象外のODP.NETでは、統合構成ファイル形式を共有できるようになりました。
-
アプリケーション・コンティニュイティ
アプリケーション・コンティニュイティは、ODP.NET管理対象外ドライバの観点から不完全な要求をリカバリし、システム、通信、ハードウェアの多くの障害および記憶域の停止をユーザーからマスクします。
詳細は、アプリケーション・コンティニュイティも参照してください。
-
シャーディングとODP.NETルーティング
リリース12.2.0.1から、ODP.NET管理対象外ドライバとOracle Databaseはシャーディングをサポートします。Oracle Shardingでは、独立した複数のOracleデータベース(シャード)間で水平パーティション化が可能です。接続文字列で指定されたキーに基づいて、ODP.NETはデータベース・リクエストを特定のシャードにルーティングできます。
Oracle Shardingは、シェアードナッシング・アーキテクチャであり、ローカルまたはグローバルな1つ以上のデータ・センターに配置した低コストのコモディティ・データベース・サーバー間で、データベースをほぼリニアにスケールできます。そのほかにも、データ分散(特定のデータをコンシューマの近くに格納する)、障害の封じ込め(1つのシャードで障害が発生しても他のシャードの可用性には影響しない)といったメリットがあります。Global Data Servicesが、シャード間でデータの場所をメッセージ送信するので、ODP.NETのクライアント・リクエストはこの分散データベース・システムで適切なシャードにルーティングすることができます。
詳細は、データベース・シャーディングも参照してください。
-
長いスキーマ識別子
Oracle Data Provider for .NETは、128文字までの長さのスキーマ・オブジェクト識別子名(表、列、ビュー、ストアド・プロシージャおよびファンクションなど)をサポートするようになりました。この機能は、ODP.NET管理対象ドライバと管理対象外ドライバの両方で使用できます。
-
ODP.NET管理対象ドライバ - データの整合性
ODP.NET管理対象ドライバは、データベース・サーバーとクライアントの間でデータの整合性を確実に保証するために、暗号ハッシュ関数をサポートしています。サポートされるアルゴリズムは、
MD5
、SHA-1
、SHA-2
(SHA-256
、SHA-384
、SHA-512
)などです。詳細は、settingsセクションおよびネットワーク・データ暗号化および整合性を参照してください。
-
ODP.NET管理対象ドライバ - Transport Layer Security (TLS)
ODP.NET管理対象ドライバには、TLS 1.0とSSL 3.0に対する従来のサポートに加えて、TLS 1.1および1.2のサポートも追加されました。
-
ODP.NET管理対象ドライバ - SSL/TLSの識別名
ODP.NET管理対象ドライバ接続でSSL/TLSを使用すると、接続しようとしているデータベース・サーバーの識別名(DN)が正しいことを保証できます。
-
ODP.NET管理対象ドライバ - ブール・データ型
ODP.NET管理対象ドライバは、データベースのPL/SQL
Boolean
データ型を使用するとき、OracleBoolean
データ型もサポートするようになりました。管理対象ドライバは、Oracle Database 12cリリース2 (12.2)以上に接続する必要があります。ブール演算によってTRUE
またはFALSE
の値が格納されます。ODP.NETの
OracleBoolean
データ型を使用して、ブール値のパラメータ・バインドおよびデータ型マッピングを簡単に設定できます。詳細は、OracleBoolean構造も参照してください。
サポート対象外となった機能
このドキュメントに記載されていた一部の機能は、Oracle Database 12cリリース2 (12.2)ではサポート対象外になります。このリリースでサポートされていない機能の完全なリストは、『Oracle Databaseアップグレード・ガイド』を参照してください。
次の機能は、Oracleではサポートされなくなりました。
-
OracleLogicalTransactionStatus
クラス -
OracleConnection.GetLogicalTransactionStatus
メソッド -
OracleConnection.LogicalTransactionId
プロパティ -
OracleConnection.OracleLogicalTransaction
プロパティ -
OracleLogicalTransaction.DataSource
プロパティ -
OracleLogicalTransaction.GetOutcome()
メソッド -
OracleLogicalTransaction.GetOutcome(sting, string, string)
method -
OracleLogicalTransaction.UserId
プロパティ