Ik ga je de antwoorden geven van wat ik zojuist heb doorgenomen op Windows Server 2008 R2, een 64-bits besturingssysteem. De applicatiesuite met bibliotheken die ik kreeg, is ontwikkeld met .net 3.5 x86 met de oudere DLL-bibliotheken en ik zat vast omdat ik de nieuwere x64-clients van Oracle had geïnstalleerd.
Wat ik vond was het volgende:Installeer de nieuwste x64-client van Oracle voor Windows Server 2008. Ik geloof dat dit de 2.7.0-client zou zijn. Wanneer u de installatie selecteert, zorg er dan voor dat u de installatie op maat uitvoert en selecteer de .NET-bibliotheken. Configureer uw tnsnames-bestanden en test uw tnsping met uw gegevensbron.
Als u vervolgens een 32-bits toepassing gebruikt, installeer dan dezelfde versie van de client voor 32-bits. Volg ook dezelfde installatieroutine en selecteer hetzelfde huis.
Als je klaar bent, zul je merken dat je één app/product hebt met twee klantdirectory's (Client1 en Client2).
Als u naar de map windows/assemblies navigeert, zult u zien dat u een verwijzing hebt naar Oracle.DataAccess.dll (x2) met één voor x86 en één voor AMD64.
Nu, afhankelijk van of je ontwikkelaars hebt of zelf aan het ontwikkelen bent op de machine, zit je hier misschien goed, maar als ze oudere stuurprogramma's gebruiken, moet je nog een laatste stap uitvoeren.
Navigeer naar de map app\name\product\version\client_1\odp.net\publisher policy\2.x. Hierin zijn twee beleidsbestanden opgenomen. gebruik gacutil /i om Policy.2.111.Oracle.DataAccess.dll in de GAC te installeren. Hierdoor worden verouderde ODP-aanroepen van Oracle omgeleid naar de nieuwere versies. Dus als iemand heeft ontwikkeld met de 10g-client, werkt het nu met de 11-client.
Ter info -- Sommigen installeren mogelijk de nieuwste ODP.NET met 2.111.7.20. De belangrijkste Oracle-client zelf wordt geleverd met 2.111.7.0 .. Ik heb geen enkel succes gehad met de 7.20, maar heb geen problemen met de 7.0-client.