Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle.Dataaccess znajduje się w GAC. Czy mogę kontrolować wersję, której używam?

Możliwe jest zmuszenie aplikacji, aby zawsze używała żądanej wersji ODP i ODAC.

  1. Wymuś wersję ODP:użyj sztuczki AssemblyBinding opublikowanej przez Roberta, aby wymusić użycie swojej wersji Oracle.DataAccess zamiast wersji GAC. Np.:

    <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. Wymuś wersję ODAC:Biblioteka DLL ODP zależy od zestawu współużytkowanych składników Oracle (klienta błyskawicznego, niezarządzanych bibliotek dll OCI). Jednym ze sposobów uzyskania tego jest pakiet ODAC. Możesz zdefiniować (na podstawie aplikacji), z którego pakietu ODAC chcesz korzystać. Tradycyjnie robiono to za pomocą zmiennej PATH env, ale teraz można ją zdefiniować za pomocą konfiguracji:

    <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. Jako dodatkowy środek ostrożności zawsze możesz usunąć bibliotekę DLL zasad wydawcy GAC, aby upewnić się, że nigdy nie dzieje się nic dziwnego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Informacje o elemencie formatu V w Oracle

  2. Wywołanie funkcji PL SQL z parametrem obiektu w java

  3. Dlaczego SQL*Plus zatwierdza przy wyjściu?

  4. Jak dynamicznie utworzyć zmienną o typie danych tabeli?

  5. liczba Oracle null na kolumny