ODP.NET Géré - Impossible de trouver le demande .Net Framework Fournisseur De Données

À l'aide de Visual Studio 2013, j'ai ajouté la dernière version de ODP.NET parvenu à un projet à l'aide de Nuget:

Install-Package odp.net.managed

http://www.nuget.org/packages/odp.net.managed/121.1.2

Maintenant, quand j'essaye d'exécuter le code suivant:

Database db = DatabaseFactory.CreateDatabase();

Il jette l'exception suivante:

An exception of type 'System.ArgumentException' occurred 
in System.Data.dll but was not handled in user code
Additional information: Unable to find the requested .Net
Framework Data Provider.  It may not be installed.

Après la lecture des autres utilisateurs du à des problèmes similaires, j'ai ajouté la gestion de pilote de la section de C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config\machine.config:

<system.data>
        <DbProviderFactories><add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
        <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" />
    </DbProviderFactories>
    </system.data>

Mais qui n'a aucune incidence sur.

J'ai la chaîne de connexion spécifié comme tel dans mon web.config, mais je ne suis pas sûr si c'est le même en regardant la chaîne de connexion format tel qu'il est en panne avant que j'ouvre la connexion:

<connectionStrings>
    <add name="OneCDPBuild" 
    providerName="Oracle.ManagedDataAccess.Client" 
    connectionString="Data Source=database;user id=IDhere;pwd=passwordhere;" />
  </connectionStrings>

J'ai ajouté ce qui suit à mon web config:

<system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <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" />
    </DbProviderFactories>
  </system.data>
Que Nuget package n'a pas été transférée par Oracle. Il ne peut pas faire ce qui est nécessaire pour permettre ODP.NET pour être considéré comme un fournisseur de l'usine. Pour de meilleurs résultats, installez ODP.NET géré fournisseur de services de la OTN page web: oracle.com/technetwork/topics/dotnet/downloads/index.html

OriginalL'auteur TimeBomb006 | 2014-08-19