sql >> Database teknologi >  >> RDS >> Oracle

Sådan installeres ODP.NET 2.111 og ODP.NET 4.112 på den samme maskine side om side, mens begge peger på den samme databaseserver

Det korte svar:

Bemærk:Jeg prøvede at installere den nye ODP.NET over den tidligere klient og var i stand til at oprette forbindelse til databasen ved hjælp af følgende forbindelsesstreng...

Dette indikerer, at din nye installation ikke har en tnsnames.ora og sqlnet.ora i /Network/Admin. Hvis du er ok med den gamle klient, der bruger den nye ODP.net-installation, kan du enten kopiere dem fra den gamle installation, eller du kan angive en global placering for alle forekomster med TNS_ADMIN-miljøvariablen, dvs. TNS_ADMIN=C:\MyOracleFilesDir

Det lange svar:

Når du installerede den nye klient, har den højst sandsynligt også installeret udgiverpolitikfiler i GAC'en, der omdirigerer referencer til den gamle Oracle.DataAccess.dll til den nye version under assembly-opløsningsprocessen. Oracle.DataAccess lokaliserer derefter klienten via en parameter (DllPath) i registreringsdatabasen. Du kan tilsidesætte denne placering ved at indstille dllPath i din .config-fil:

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

Dette er generelt, hvad jeg gør, men efterhånden som jeg forstår dette mere, indser jeg, at jeg tvinger en nyere dll mod en ældre klient. Hvis dit mål er at lade den gamle klient være urørt, kan en bedre mulighed være at slette udgiverpolitikkerne fra GAC ​​(jeg tror ikke engang, de er installeret med den fulde ODAC-installation, kun ODP.net):

Hvis du har brug for at geninstallere dem, findes de generelt på oraclepath\odp.net\PublisherPolicy.

En anden, og måske en bedre langsigtet mulighed, er at konfigurere de gamle klienter til at ignorere udgiverpolitikken:http://msdn.microsoft.com/en-us/library/cf9025zt%28v=vs.80%29.aspx

Endelig er jeg ret sikker på, at .net-komponenterne til 2.0 vs. 4.0-rammerne er separate installationsmuligheder under ODP.net-installationen. Jeg tror, ​​du måske kan undgå dette problem blot ved ikke at installere 2.0-komponenterne. På den note kunne du gøre et lignende arbejde rundt ved at udvikle dit nye projekt mod 64 bit odp.net i stedet. Ligesom v2.0 og v4.0 har 32 bit og 64 bit heller ikke nogen bevidsthed om hinanden.




  1. paginering i listevisning

  2. Forbind Metabase med MySQL til dataudforskning

  3. Hvorfor datasikkerhedskopier er vigtige for din organisation

  4. Hvordan får jeg en lagret procedure-outputparameter, der er et array, til at fungere?