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

Mengapa penyebaran xcopy ODP.NET 11 tidak berfungsi pada mesin dengan Oracle DB 10 diinstal?

Jadi seperti yang saya pahami, masalahnya adalah bahwa sementara Oracle.DataAccess.dll berada di direktori yang sama dengan aplikasi, ia tidak dapat menemukan homies tingkat yang lebih rendah (oci, et al), oleh karena itu kesalahan kompatibilitas.

Ternyata jika Anda ingin aplikasi bekerja dengan penerapan xcopy ODAC 11 terlepas dari apa pun yang mungkin telah diinstal pengguna di mesinnya, Anda perlu melakukan 2 hal:

  1. Setel variabel lingkungan PATH untuk proses. (Saya sudah melakukan ini.)
  2. Setel variabel lingkungan ORACLE_HOME untuk proses. (Saya tidak melakukan ini.)

    Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
    Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
    

EDIT: Penting juga untuk dicatat bahwa Oracle akan membuang kesalahan ini tidak hanya untuk masalah lingkungan, tetapi juga jika salah satu file hilang pada mesin target. Saya mendapatkan kesalahan yang sama pada mesin lain meskipun pengaturan Lingkungan karena saya telah mengatur Subversion untuk mengabaikan direktori yang disebut "bin", sehingga DLL OraOps tidak disalin ke klien.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Mendapatkan File Dari BLOB di Oracle?

  2. SQL - Temukan pernyataan yang memasukkan nilai tertentu

  3. Cadangan Online Vs Offline

  4. Membuat JSON dan mengedit kueri kompleks (Oracle 11g)

  5. Indeks pada tampilan (Oracle)