Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Dlaczego wdrożenie xcopy ODP.NET 11 nie działa na komputerze z zainstalowaną bazą danych Oracle DB 10?

Jak rozumiem, problem polegał na tym, że chociaż Oracle.DataAccess.dll znajdował się w tym samym katalogu co aplikacja, nie mógł znaleźć swoich ziomków niższego poziomu (oci, et al), stąd błąd zgodności.

Okazuje się, że jeśli chcesz, aby aplikacja działała z wdrożeniem ODAC 11 xcopy, niezależnie od tego, co jeszcze użytkownik zainstalował na swoim komputerze, musisz zrobić 2 rzeczy:

  1. Ustaw zmienną środowiskową PATH dla procesu. (Już to robiłem.)
  2. Ustaw zmienną środowiskową ORACLE_HOME dla procesu. (Nie robiłem tego.)

    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);
    

EDYTUJ: Należy również zauważyć, że Oracle zgłosi ten błąd nie tylko w przypadku problemów środowiskowych, ale także w przypadku braku jednego z plików na komputerze docelowym. Dostałem ten sam błąd na innych maszynach, pomimo ustawień środowiska, ponieważ miałem ustawione w Subversion ignorowanie katalogów o nazwie „bin”, więc biblioteka OraOps DLL nie była kopiowana do klienta.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie uprawnienia są wymagane do utworzenia użytkownika w Oracle z użytkownikiem niebędącym użytkownikiem DBA?

  2. Dynamiczne przestawianie Oracle

  3. Obsługa współbieżnych aktualizacji w trybie hibernacji

  4. GI 12.2 Zmiany

  5. Problem z połączeniem wiosennym