Saya akan memberikan jawaban dari apa yang baru saja saya alami pada Windows Server 2008 R2 yang merupakan sistem operasi 64 bit. Rangkaian aplikasi perpustakaan yang diberikan kepada saya dikembangkan menggunakan .net 3.5 x86 dengan perpustakaan DLL yang lebih lama dan saya terjebak karena saya telah menginstal klien x64 yang lebih baru dari Oracle.
Apa yang saya temukan adalah sebagai berikut:Instal klien x64 terbaru dari Oracle untuk Windows Server 2008. Saya yakin ini akan menjadi klien 2.7.0. Saat Anda memilih penginstalan, pastikan Anda melakukan kustom dan memilih pustaka .NET. Konfigurasikan file tnsnames Anda dan uji tnsping Anda terhadap sumber data Anda.
Selanjutnya, jika Anda menjalankan aplikasi 32 bit, instal versi klien yang sama untuk 32 bit. Juga, ikuti rutinitas instalasi yang sama, dan pilih rumah yang sama.
Setelah selesai, Anda akan menemukan bahwa Anda memiliki satu aplikasi/produk dengan dua direktori klien (Klien1 dan Klien2).
Jika Anda menavigasi ke direktori windows/assemblies, Anda akan menemukan bahwa Anda memiliki referensi ke Oracle.DataAccess.dll (x2) dengan satu untuk x86 dan satu untuk AMD64.
Sekarang, tergantung pada apakah Anda memiliki pengembang atau sedang mengembangkan mesin sendiri, Anda mungkin baik-baik saja di sini, namun, jika mereka menggunakan driver yang lebih lama, maka Anda perlu melakukan satu langkah terakhir.
Navigasikan ke direktori app\name\product\version\client_1\odp.net\publisher policy\2.x. Termasuk di sini adalah dua file kebijakan. gunakan gacutil /i untuk menginstal Policy.2.111.Oracle.DataAccess.dll ke dalam GAC. Ini akan mengalihkan panggilan ODP Oracle lama ke versi yang lebih baru. Jadi, jika seseorang mengembangkan dengan klien 10g, sekarang akan bekerja dengan klien 11.
FYI -- Beberapa mungkin menginstal ODP.NET terbaru dengan versi 2.111.7.20. Klien oracle utama itu sendiri hadir dengan 2.111.7.0 .. Saya tidak pernah berhasil dengan 7.20 tetapi tidak memiliki masalah dengan klien 7.0.