Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara menginstal ODP.NET 2.111 dan ODP.NET 4.112 di mesin yang sama secara berdampingan sementara keduanya menunjuk ke server database yang sama

Jawaban singkatnya:

Catatan:Saya mencoba menginstal ODP.NET baru melalui klien sebelumnya dan dapat terhubung ke database menggunakan connectionstring berikut...

Ini menunjukkan bahwa instalasi baru Anda tidak memiliki tnsnames.ora dan sqlnet.ora di /Network/Admin. Jika Anda setuju dengan klien lama menggunakan instalasi ODP.net baru, Anda dapat menyalinnya dari instalasi lama atau Anda dapat menentukan lokasi global untuk semua instans dengan variabel lingkungan TNS_ADMIN, yaitu TNS_ADMIN=C:\MyOracleFilesDir

Jawaban panjangnya:

Saat Anda menginstal klien baru, kemungkinan besar juga menginstal file kebijakan penerbit ke GAC yang mengarahkan referensi ke Oracle.DataAccess.dll lama ke versi baru selama proses resolusi perakitan. Oracle.DataAccess kemudian menempatkan klien melalui parameter (DllPath) di registri. Anda dapat mengganti lokasi ini dengan mengatur dllPath di file .config Anda:

<configuration>
  <oracle.dataaccess.client>
    <add key="DllPath"            value="C:\yourotherpath"/>
  </oracle.dataaccess.client>
</configuration>

Ini umumnya yang saya lakukan, tetapi ketika saya lebih memahami ini, saya menyadari bahwa saya memaksakan dll yang lebih baru terhadap klien yang lebih lama. Jika tujuan Anda adalah membiarkan klien lama tidak tersentuh, opsi yang lebih baik mungkin adalah menghapus kebijakan penerbit dari GAC (Saya tidak berpikir mereka bahkan diinstal dengan instalasi ODAC penuh, hanya ODP.net):

Jika Anda perlu menginstal ulang, biasanya mereka dapat ditemukan di oraclepath\odp.net\PublisherPolicy.

Lain, dan mungkin opsi jangka panjang yang lebih baik, adalah mengonfigurasi klien lama untuk mengabaikan kebijakan penerbit:http://msdn.microsoft.com/en-us/library/cf9025zt%28v=vs.80%29.aspx

Akhirnya, saya cukup yakin komponen .net untuk kerangka kerja 2.0 vs. 4.0 adalah opsi penginstalan terpisah selama penginstalan ODP.net. Saya pikir Anda mungkin dapat menghindari masalah ini hanya dengan tidak menginstal komponen 2.0. Pada catatan itu Anda dapat melakukan pekerjaan serupa dengan mengembangkan proyek baru Anda terhadap odp.net 64 bit sebagai gantinya. Seperti v2.0 dan v4.0, 32 bit dan 64 bit juga tidak memiliki kesadaran satu sama lain.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menghapus semua item yang di-cache di Oracle

  2. masalah menggunakan parameter Oracle di SELECT IN

  3. Oracle Entity Framework - Hasilkan Entitas Dari Tabel dalam Skema Berbeda

  4. Bagaimana cara membatalkan operasi Database yang sudah berjalan lama?

  5. Bagaimana cara menjalankan prosedur tersimpan Oracle?