sql >> Databasteknik >  >> RDS >> Oracle

Oracle.Dataaccess finns i GAC. Kan jag kontrollera vilken version jag använder?

Det är möjligt att tvinga din applikation att alltid använda den ODP- och ODAC-version du vill ha.

  1. Force ODP-version:använd assemblyBinding-tricket som postats av Robert, för att tvinga fram din version av Oracle.DataAccess istället för GAC-versionen. T.ex.:

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Oracle.DataAccess"  culture="neutral" publicKeyToken="89b483f429c47342"/>
            <codeBase version="4.112.3.0" href="FILE://Oracle.DataAccess.dll"/>
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    
  2. Forcera ODAC-version:ODP DLL-filen beror på en uppsättning delade Oracle-komponenter (direktklient, ohanterade OCI-dll-filer). Ett sätt att få dessa är via ODAC-paketet. Du kan definiera (per app-basis) vilket ODAC-paket du vill använda. Traditionellt gjordes detta via PATH env-variabeln, men den kan nu definieras via config:

    <configuration>
      <configSections>
        <section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </configSections>
    
      <oracle.dataaccess.client>
        <settings>
          <add name="DllPath" value="C:\somefolder\ODAC_11.2.0.3.0_32bit\bin" />
        </settings>
      </oracle.dataaccess.client>
    </configuration>
    
  3. Som en extra försiktighetsåtgärd kan du alltid ta bort GAC:s utgivarpolicy-DLL för att säkerställa att det aldrig händer något konstigt.



  1. Ändra detta från MySQL till MySQLi?

  2. hur man använder funktionen require_once inside

  3. MySQL-predikat pushing

  4. Varför tillåter MySQL att uppdatera en NOT NULL-kolumn till NULL?