Mam zamiar udzielić odpowiedzi z tego, przez co właśnie przeszedłem na Windows Server 2008 R2, który jest 64-bitowym systemem operacyjnym. Pakiet aplikacji, który otrzymałem, został opracowany przy użyciu .net 3.5 x86 ze starszymi bibliotekami DLL i utknąłem, ponieważ zainstalowałem nowszych klientów x64 z Oracle.
To, co znalazłem, było następujące:Zainstaluj najnowszego klienta x64 firmy Oracle dla systemu Windows Server 2008. Wierzę, że byłby to klient 2.7.0. Po wybraniu instalacji upewnij się, że robisz niestandardowe i wybierasz biblioteki .NET. Skonfiguruj pliki tnsnames i przetestuj tnsping ze źródłem danych.
Następnie, jeśli używasz aplikacji 32-bitowej, zainstaluj tę samą wersję klienta dla wersji 32-bitowej. Ponadto postępuj zgodnie z tą samą procedurą instalacji i wybierz ten sam dom.
Kiedy skończysz, przekonasz się, że masz jedną aplikację/produkt z dwoma katalogami klientów (Klient1 i Klient2).
Jeśli przejdziesz do katalogu windows/assemblies, zobaczysz, że masz odniesienie do Oracle.DataAccess.dll (x2) z jednym dla x86 i jednym dla AMD64.
Teraz, w zależności od tego, czy masz programistów, czy sam programujesz na komputerze, możesz być tutaj w porządku, jednak jeśli używają starszych sterowników, musisz wykonać ostatni krok.
Przejdź do katalogu app\name\product\version\client_1\odp.net\publisher policy\2.x. W tym miejscu znajdują się dwa pliki polityki. użyj gacutil /i, aby zainstalować Policy.2.111.Oracle.DataAccess.dll w GAC. Spowoduje to przekierowanie starszych wywołań ODP Oracle do nowszych wersji. Tak więc, jeśli ktoś opracował z klientem 10g, będzie teraz działał z klientem 11.
FYI - Niektórzy mogą instalować najnowszą wersję ODP.NET z 2.111.7.20. Sam główny klient Oracle jest dostarczany z wersją 2.111.7.0 .. Nie odniosłem żadnego sukcesu z wersją 7.20, ale nie mam problemów z klientem 7.0.