“Impossible de trouver le demande .Net Framework Fournisseur De Données. Il ne peut pas être installé.”

Je sais qu'il y a eu beaucoup d'autres publications sur cette erreur, mais aucun n'a été en mesure de faire toute la lumière ou de l'aide sur mon problème. Je suis l'aide d'une droite de connexion pour SqlExpress, de sorte qu'aucune Oracle ou MySQL bases de données ou de quoi que ce soit. Il semble que ce devrait juste ajustement comme un gant.

Si le scénario est cela, j'ai créé une solution, composé d'une poignée de projets; Référentiels de Données (EF5.0), les services publics, un projet de Test et une Application Web MVC. L'objectif est de simplement accéder à un sous-jacente de base de données SQL Express via les classes de Données via des dépôts dans le projet des Dépôts à l'aide de EF5 et certains dépôts dans le projet de test et l'Application MVC.

Le projet de test fonctionne et est en mesure d'accéder et de mettre à jour la base de données sans problème.

Le Projet Web MVC, cependant, est de lancer le "Impossible de trouver le demande .Net Framework Fournisseur De Données. Il ne peut pas être installé." erreur, que je ne comprends pas, car il utilise la même chaîne de connexion que le Projet de Test.

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1426271
   WebMatrix.Data.DbProviderFactoryWrapper.CreateConnection(String connectionString) +64
   WebMatrix.Data.<>c__DisplayClass15.<OpenConnectionStringInternal>b__14() +16
   WebMatrix.Data.Database.get_Connection() +19
   WebMatrix.Data.Database.EnsureConnectionOpen() +12
   WebMatrix.Data.Database.QueryValue(String commandText, Object[] args) +63
   WebMatrix.WebData.DatabaseWrapper.QueryValue(String commandText, Object[] parameters) +14
   WebMatrix.WebData.SimpleMembershipProvider.GetUserId(IDatabase db, String userTableName, String userNameColumn, String userIdColumn, String userName) +232
   WebMatrix.WebData.SimpleMembershipProvider.ValidateUserTable() +85

J'ai ...

  1. Enregistré, le Système.Les données.SqlClient dans le web.config.
  2. Vérifié que la version enregistrée (2.0.0.0) du Système.Il existe des données dans le GAC par cet article
  3. Fait en sorte qu'il n'y avait pas de fautes de frappe dans la Chaîne de Connexion.

Voici ce que j'ai dans le web.config ...

  <connectionStrings>
    <add name="DBCatalogContext" 
         connectionString="metadata=res://*/DBCatalog.csdl|
                                    res://*/DBCatalog.ssdl|
                                    res://*/DBCatalog.msl;
                                    provider=System.Data.SqlClient;
                                    provider connection string=&quot;data source=.\SQLEXPRESS;
                                                                     initial catalog=DBCatalog;
                                                                     integrated security=True;
                                                                     multipleactiveresultsets=True;
                                                                     App=EntityFramework&quot;" 
         providerName="System.Data.EntityClient" />
  </connectionStrings>

  <system.data>
    <DbProviderFactories>
      <add name="SqlClient Data Provider" 
           invariant="System.Data.SqlClient" 
           description=".Net Framework Data Provider for SqlServer" 
           type="System.Data.SqlClient.SqlClientFactory, 
                 System.Data, 
                 Version=2.0.0.0, 
                 Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    </DbProviderFactories>
  </system.data>

La seule chose que je vois qui ne fait pas de sens pour moi, lorsque je sélectionne le "Système."Données de référence dans les "Références" du dossier et de regarder les propriétés qu'il dit que c'est la version 4.0.0.0, mais quand j'ai changer la version dans le "DbProviderFactories" section de la configuration du site, je reçois toujours le message d'erreur. Aussi je ne voit même pas la référence à cette bibliothèque dans le projet de Test qui fonctionne.

Je suis convaincu que c'est un oubli ou que je suis absent de certains paramètre de configuration, mais je ne sais pas où d'autre à regarder ce point, de sorte que toute aide serait appréciée.

Grâce,
G

OriginalL'auteur Gary O. Stenstrom | 2013-01-22