Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de se connecter à mysql depuis visual studio 2015

Pour que VS 2015 se connecte à MySql, vous devez utiliser une version ultérieure des bibliothèques MySql. Bien que cela semble être une réponse assez simple, en toute honnêteté, j'ai rencontré plusieurs problèmes en cours de route. Dans cet esprit, je vais écrire le processus 1 qui a toujours fonctionné pour moi jusqu'à ce que EF fonctionne avec MySql et VS2015. Donc, sans plus tarder, voici les étapes que j'ai suivies pour que cela fonctionne.

1) Assurez-vous que l'installation du connecteur MySql est mise à jour

2) Créez votre projet web

3) Ouvrir Nuget

4) Installer Entity Framework

5) Rechercher MySql

6) Installez MySql.Data

7) Installez MySql.Data.Entity

8) Installez MySql.Data.Entities

9) Installez MySql.Web

10) Accédez aux références du projet et supprimez MySql.Data.Entity.EF6

11) Vérifiez les versions des bibliothèques MySql.Data et MySql.Web. S'ils sont sous 6.9.6, supprimez-les également

12) Ajoutez une nouvelle référence en accédant à l'emplacement d'installation du connecteur mysql pour votre version du framework .NET (le mien est C:\Program Files (x86)\MySQL\Connector.NET 6.9\Assemblies\v4.5) et saisir MySql.Data.Entity.EF6.dll (ma version est 6.9.6, gardez cela à l'esprit lorsque nous modifierons le web.config plus tard)

13) Si les autres bibliothèques étaient également des versions plus anciennes, ajoutez-y des références en accédant au dossier packages de votre solution et en récupérant les fichiers dans leurs dossiers respectifs. Normalement, je n'ai pas à le faire.

14) Maintenant, le Web.config devra être modifié. La première étape consiste à remplacer la section du cadre d'entité par ce code (changez le numéro de version en votre version actuelle. Veuillez noter que j'ai trouvé cet extrait sur le Web il y a quelques semaines et que je n'ai pas le lien d'origine. Je m'excuse auprès de l'original affiche de cette information.)

<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</entityFramework>

15) Assurez-vous que votre section DbProviderFactories correspond

<DbProviderFactories>
  <remove invariant="MySql.Data.MySqlClient" />
  <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>

16) Enregistrer et créer

Je ne sais pas combien de ces étapes sont réellement nécessaires, mais après l'avoir finalement obtenu une fois, j'ai dû faire du travail et je n'ai pas eu le temps de préciser davantage les choses. J'espère que cela vous fera bouger.

PS Si après tout cela, vous passez par l'assistant et qu'il disparaît avant de vous montrer les tables de la base de données pour créer des entités, cela pourrait être l'un des trois problèmes que j'ai rencontrés en cours de route. Le serveur de base de données ne peut pas être contacté. L'utilisateur ne dispose pas des autorisations nécessaires sur la base de données. La mauvaise version de MySql.Data.Entity.EF6 a été ajoutée comme référence ou le numéro de version est incorrect dans le fichier web.config. Si je récupère ce fichier dans le répertoire packages de ma solution, je rencontre souvent ce problème d'assistant abandonné sans message d'erreur. Le récupérer à partir du répertoire d'installation de MySql a bien fonctionné pour moi à chaque fois.