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

Jak zainstalować ODP.NET 2.111 i ODP.NET 4.112 na tym samym komputerze obok siebie, gdy oba wskazują ten sam serwer bazy danych

Krótka odpowiedź:

Uwaga:próbowałem zainstalować nowy ODP.NET na poprzednim kliencie i mogłem połączyć się z bazą danych przy użyciu następującego ciągu połączeń...

Oznacza to, że nowa instalacja nie zawiera plików tnsnames.ora i sqlnet.ora w katalogu /Network/Admin. Jeśli jesteś w porządku ze starym klientem używającym nowej instalacji ODP.net, możesz albo skopiować je ze starej instalacji, albo możesz określić globalną lokalizację dla wszystkich instancji za pomocą zmiennej środowiskowej TNS_ADMIN, tj. TNS_ADMIN=C:\MyOracleFilesDir

Długa odpowiedź:

Po zainstalowaniu nowego klienta najprawdopodobniej zainstalował on również pliki zasad wydawcy w GAC, które przekierowują odwołania do starej biblioteki Oracle.DataAccess.dll do nowej wersji podczas procesu rozpoznawania zestawu. Oracle.DataAccess następnie lokalizuje klienta za pomocą parametru (DllPath) w rejestrze. Możesz zmienić tę lokalizację, ustawiając dllPath w pliku .config:

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

Generalnie to robię, ale gdy rozumiem to lepiej, zdaję sobie sprawę, że wymuszam nowszą bibliotekę dll przeciwko starszemu klientowi. Jeśli Twoim celem jest pozostawienie starego klienta nietkniętego, lepszą opcją może być usunięcie zasad wydawcy z GAC (nie sądzę, że są one nawet instalowane z pełną instalacją ODAC, tylko z ODP.net):

Jeśli musisz je ponownie zainstalować, zazwyczaj znajdziesz je pod adresem oraclepath\odp.net\PublisherPolicy.

Inną i być może lepszą opcją długoterminową jest skonfigurowanie starych klientów tak, aby ignorowały zasady wydawcy:http://msdn.microsoft.com/en-us/library/cf9025zt%28v=vs.80%29.aspx

Wreszcie, jestem prawie pewien, że komponenty .net dla frameworków 2.0 vs. 4.0 są oddzielnymi opcjami instalacji podczas instalacji ODP.net. Myślę, że możesz uniknąć tego problemu, po prostu nie instalując komponentów 2.0. W tej notatce możesz wykonać podobną pracę, rozwijając swój nowy projekt zamiast 64-bitowego odp.net. Podobnie jak v2.0 i v4.0, wersje 32-bitowe i 64-bitowe również nie mają żadnej wzajemnej świadomości.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-1114 Uruchamianie łaty danych

  2. PL/SQL niewystarczające uprawnienia w zapytaniu możliwe ręcznie

  3. Co to w ogóle jest wersja główna?

  4. UPDATE z CASE i IN - Oracle

  5. Czy istnieje oficjalna rekomendacja Oracle dotycząca używania jawnych złączeń ANSI JOIN w porównaniu ze złączeniami niejawnymi?