Ich habe diesen Fehler erhalten, als ich eine ASP.NET MVC 5-Anwendung mit EntityFramework 5 auf unserem 64-Bit-Server bereitgestellt habe, auf dem die 64-Bit-Version der ODAC-Clientkomponenten installiert war.
Ich folgte dem Rat von b_levitt und bestätigte, dass die Verbindung manuell geöffnet werden konnte, ohne die Factorys zu verwenden, also war der ODAC installiert und funktionierte, aber die Factory-Methoden konnten die Assemblys nicht finden.
Nachdem ich für eine unbekannte Zeit an meinen Haaren gezogen hatte, fand ich heraus, dass das Problem in der Datei machine.config für die 32-Bit-Version des .NET-Frameworks lag. Die Einträge für die Orakelanbieter waren nicht enthalten, daher habe ich dieser Datei manuell die folgenden Einträge hinzugefügt:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
Unter
<configuration>
<configSections>
Stellen Sie sicher, dass Sie die folgenden beiden Abschnitte vollständig haben:
<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" />
Die genauen Einträge finden Sie in Ihrer machine.config-Datei im Ordner framework64.
Als nächstes unter
<system.data>
<DbProviderFactories>
Stellen Sie sicher, dass Sie die folgenden zwei Fabriknamen haben:
<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" />
Nachdem ich diese Einträge hinzugefügt hatte, funktionierte alles für mich.