Dimungkinkan untuk memaksa aplikasi Anda untuk selalu menggunakan versi ODP dan ODAC yang Anda inginkan.
-
Paksa versi ODP:gunakan trik assemblyBinding yang diposting oleh Robert, untuk memaksa menggunakan versi Oracle.DataAccess Anda alih-alih versi GAC. Mis.:
<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Oracle.DataAccess" culture="neutral" publicKeyToken="89b483f429c47342"/> <codeBase version="4.112.3.0" href="FILE://Oracle.DataAccess.dll"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
-
Force ODAC version:ODP DLL bergantung pada sekumpulan komponen Oracle bersama (klien instan, OCI yang tidak dikelola, dll). Salah satu cara untuk mendapatkannya adalah melalui paket ODAC. Anda dapat menentukan (berdasarkan per aplikasi), paket ODAC mana yang ingin Anda gunakan. Secara tradisional ini dilakukan melalui variabel PATH env, tetapi sekarang dapat didefinisikan melalui config:
<configuration> <configSections> <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </configSections> <oracle.dataaccess.client> <settings> <add name="DllPath" value="C:\somefolder\ODAC_11.2.0.3.0_32bit\bin" /> </settings> </oracle.dataaccess.client> </configuration>
-
Sebagai tindakan pencegahan ekstra, Anda selalu dapat menghapus DLL kebijakan penerbit GAC, untuk memastikan tidak akan pernah terjadi hal yang aneh.