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

Zarządzanie ODP.NET — nie można znaleźć żądanego dostawcy danych .Net Framework

Otrzymuję ten błąd podczas wdrażania aplikacji ASP.NET MVC 5 przy użyciu EntityFramework 5 na naszym 64-bitowym serwerze, na którym zainstalowano 64-bitową wersję składników klienta ODAC.

Postępowałem zgodnie z radą b_levitt i potwierdziłem, że połączenie można otworzyć ręcznie bez korzystania z fabryk, więc ODAC został zainstalowany i działał, ale metody fabryczne nie były w stanie zlokalizować zespołów.

Po wyrywaniu włosów przez nieujawniony czas, zorientowałem się, że problem tkwi w pliku machine.config dla 32-bitowej wersji frameworka .NET. Nie zawierał wpisów dotyczących dostawców wyroczni, więc ręcznie dodałem do tego pliku następujące wpisy:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config

Pod

<configuration>
  <configSections>

upewnij się, że masz następujące dwie części w całości:

<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Możesz uzyskać dokładne wpisy z pliku machine.config w folderze framework64.

Następnie pod

  <system.data>
    <DbProviderFactories>

upewnij się, że masz następujące dwie nazwy fabryczne:

  <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  <add name="ODP.NET, Unmanaged Driver" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET, Unmanaged Driver" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

Po dodaniu tych wpisów wszystko u mnie działało.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Search wszystkie tabele wszystkie kolumny dla ciągu znaków

  2. Uzyskaj identyfikator ostatnio wstawionego rekordu w Oracle db

  3. Karta sieciowa nie mogła nawiązać połączenia podczas łączenia się z bazą danych Oracle

  4. Jak pozyskać pracowników ze swoimi menedżerami

  5. Łączenie Oracle z Amazon Aurora