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

Oracle.Dataaccess er i GAC. Kan jeg styre den version, jeg bruger?

Det er muligt at tvinge din applikation til altid at bruge den ODP- og ODAC-version, du ønsker.

  1. Force ODP-version:brug assemblyBinding-tricket indsendt af Robert, for at tvinge din version af Oracle.DataAccess i stedet for GAC'd-versionen. F.eks.:

    <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. Force ODAC-version:ODP DLL'en afhænger af et sæt delte Oracle-komponenter (øjeblikkelig klient, ikke-administrerede OCI-dll'er). En måde at få disse på er via ODAC-pakken. Du kan definere (per app-basis), hvilken ODAC-pakke du vil bruge. Traditionelt blev dette gjort via PATH env-variablen, men den kan nu defineres 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 ekstra sikkerhedsforanstaltning kan du altid slette GAC'd's udgiverpolitik DLL for at sikre, at der aldrig sker noget sjovt.



  1. PDO-MySQL:Booleske værdier konverteres til 1 eller tom streng ved forberedt sætningsbinding

  2. Oracle - Bestem den maksimale understøttede størrelse for regulære udtryk

  3. Oracle SQL sammenligner poster i en tabel

  4. SQLite Undtagen