ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
12c リリース1(12.1)
B72971-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Oracle Data Provider for .NETバージョニング体系

11.2.0.1.2以降、Oracle Data Provider for .NET管理対象外ドライバには、.NET Framework 2.0および.NET Framework 4用に1セットずつ、2セットのバイナリが用意されています。ODP.NET管理対象ドライバには、バイナリが1セット(.NET Framework 4用)用意されています。

たとえば、ODP.NET 11.2.0.1.2のバイナリは次のようになります。

ODP.NETアセンブリ/DLLバージョニングの表記規則は次のとおりです。

n1.o1o2.o3o4.o5

ここで

たとえば、ODP.NET製品のリリース番号が11.2.0.2の場合、対応するODP.NETアセンブリ・バージョンは次のとおりです。

Oracleインストーラおよびマニュアルでは、アセンブリ/DLLバージョン番号ではなく、ODP.NET製品のバージョン番号を参照している点に注意してください。

.NET Frameworkシステム・ライブラリと同様に、アセンブリ・バージョン番号の1桁目はODP.NETアセンブリとともに使用する.NET Frameworkのバージョンを示します。

従来どおりPublisher Policy DLLが提供されているため、旧バージョンのODP.NETにより作成されたアプリケーションは、バージョニング体系が変更されていても、より新しいODP.NETアセンブリにリダイレクトされます。

ODP.NET管理対象ドライバは、そのバイナリと同じバージョンのモデルに対応します。

ODP.NET for .NET Framework 4:

ODP.NET管理対象ドライバのバージョニング

ODAC 12cリリース2からは、ODP.NET管理対象ドライバで、AssemblyVersionAttribute属性値が同一である複数のアセンブリを一意に識別するためにアセンブリ・マニフェスト属性AssemblyInformationalVersionAttributeが使用されます。この値には、.NETコード、PowerShellおよびその他のWindowsアプリケーションからアクセスしてODP.NET管理対象ドライバのバージョンを一意に識別することができます。

AssemblyInformationalVersionAttributeは、実際の.NETアセンブリ・バージョンと同じバージョンに設定されますが、4桁目は例外で、この桁は0ではなくなります。かわりに、バージョンはODP.NET管理対象ドライバのリリースごとに一意となり、新しいリリースのたびに4桁目に1が加算されます。

この値には、.NET Framework System.Diagnostics.FileVersionInfo.ProductVersionプロパティを使用してアクセスできます。返された値は、Versionオブジェクトとして、または比較用のStringとして比較の演算子やメソッドで使用できます。要約すると、ODP.NET管理対象ドライバのアセンブリのうち、アセンブリ・バージョンが同一であるものの集合の中では、最も新しいODP.NET管理対象ドライバ・アセンブリの4桁目ProductVersionの値が他の古いアセンブリよりも大きいことになります。

PowerShellの例: この例では、管理者がODP.NET管理対象ドライバの各バージョンのアセンブリをそれぞれ区別しており、ある古いバージョンのODP.NET管理対象ドライバがc:\oldに、それよりも新しいバージョンがc:\newにあります。

スクリプト:

$VC1 = New-Object System.Version((Get-Command C:\old\Oracle.ManagedDataAccess.dll).FileVersionInfo.ProductVersion)
$VC2 = New-Object System.Version((Get-Command C:\new\Oracle.ManagedDataAccess.dll).FileVersionInfo.ProductVersion)
"Compare V1 to V2: " + $VC1.CompareTo($VC2)
"Compare V1 to V1: " + $VC1.CompareTo($VC1)
"Compare V2 to V1: " + $VC2.CompareTo($VC1)

出力:

Compare V1 to V2: -1
Compare V1 to V1: 0
Compare V2 to V1: 1

注意:

ProductVersionプロパティの比較によって、どちらのバージョンが他方よりも新しいかに関する正しい情報が得られるのは、ODP.NET管理対象ドライバのうち、ODAC 12cリリース2以上からリリースされたものに限られます