none
MySql met le bazar

    Question

  • Bonjour tout le monde,
    Mon installation des connecteurs MySql pour utilisation avec Visual Studio s'est avérée quelque peu laborieuse, d'autant que j'ai voulu l'essayer directement dans les dernières versions.
    Avec l'aide d'Aurel Bera j'ai pu l'installer au moins pour Visual Studio 2005 (Professional Edition).
    Une fois en ligne la page de démonstration de mon composant, j'ai voulu utiliser Entity Framework, pour faciliter la conception de la suite.
    Lourde erreur : d'une part, mon installation de Visual Studio 2010 étant en éditions Express, je ne pourrai pas utiliser MySql dedans (j'avais bien repéré que c'était délicat, mais depuis j'ai mieux lu, le support des éditions Express n'est pas assuré par MySql Connector Net, c'est simple), d'autre part, depuis que j'ai essayé, je ne réussis plus à développer avec MySql du tout.
    Voilà où j'en étais hier soir : la page qui est prête (déjà développée) s'affiche dans le serveur de développement, avec les données MySql, en revanche si j'essaie de créer un nouveau Dataset, je n'arrive pas jusque là car en cliquant dans l'observateur de serveurs sur "nouvelle connexion", je me vois objecter que "Une erreur inattendue s'est produite dans le .Net Framework Data Provider for MySql. Contactez le fournisseur pour résoudre ce problème".
    Au passage, je souligne que ceci m'empêche aussi de créer une nouvelle connexion vers Sql Server Express, qui de son côté, a priori fonctionnait, jusqu'à ce que je réinstalle .Net. Maintenant, SSMS ne réussit pas à se connecter : Failed to open connection dialog : Could not load type 'System.DateTimeOffset' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (Microsoft.SqlServer.Diagnostics.STrace)
    Il est vraisemblable que ça ne soit pas exactement la même question ... Pour une fois que le programme d'installation de .Net 2 me dit du premier coup qu'il a réussi son installation, c'est vexant. Recommencer est-il une bonne idée ? Il est vrai que depuis j'ai réinstallé Visual Studio ... Plus précisément, le batch de réinstallation est en cours d'exécution depuis le milieu de l'après-midi, donc ça fait quelque chose comme six heures et demi. J'ai l'impression que je m'oriente vers un arrêt d'office de cette affaire-là, avant de relancer l'installation avec interface.

    Avant que je supprime, dans l'explorateur de serveurs de Visual Studio, les connexions existantes sur MySql, la demande de les mettre à jour mettait en cause le ProviderFactories MySql.
    J'ai donc "contacté le fournisseur" par l'intermédiaire du programme MySql Installer, pour désinstaller toutes les entrées MySql sauf le serveur (car si je peux ensuite retrouver mes données c'est mieux).
    Pas mieux. Je résume : il n'y a pas de MySql, mais il fonctionne mal.
    J'ai désinstallé .Net, réinstallé Visual Studio 2005.
    Pas mieux.
    Ah, troublant quand même : la première chose que j'aie faite a été de désinstaller tout MySql (sauf le serveur) à l'aide de MySql Installer, or à l'instant je viens de trouver toutes les entrées dans Ajout/Suppression de programmes. J'ai enlevé le MySql Connector Net, ça n'a pas résolu le problème de l'impossibilité de créer une nouvelle connexion dans l'explorateur de serveurs.

    A un certain stade dans la semaine j'ai désinstallé les composants MySql à l'aide de RevoUninstaller, là, on sait que c'est nettoyé. Peut-être va-t-il falloir que je recommence ça.

    Y a-t-il une commande qui permet de retirer plus spécifiquement le ProviderFactories de MySql, par exemple regsvr32 ?

    Si il reste des traces je m'attendais à ce que ça soit dans les fichiers de configuration de .Net, mais après l'avoir désinstallé (Le Dotnet Framework Cleanup Tool d'Aaron Stebner fait gagner un temps précieux) puis réinstallé, ça paraît difficile à croire.

    Il doit y avoir plus efficace qu'à tâtons, j'imagine ?

    ___

    Mise à jour le lendemain : j'ai effectué la réinstallation de Visual Studio 2005, cette fois avec la boîte de dialogue, et le résultat est le même. J'ai aussi vérifié que dans Ajout/Suppression de programmes, pour MySql il n'y a plus que le moteur.

    Je redis donc : toujours pas moyen d'ajouter une nouvelle connexion dans l'explorateur de serveurs de Visual Studio 2005, on me reproche d'avoir un .Net Framework Data Provider for MySql, qui génère une "erreur inattendue".

    Pour la réinstallation de Visual Studio 2005 ça n'a pas été immédiat, setup réinstallait .Net 2 puis demandait à redémarrer Windows, et à la session suivante rien ne se passait. J'ai fini par me passer du redémarrage, arrêter Setup dans le gestionnaire des tâches et le relancer. Il est passé un peu plus vite sur .Net 2, et a installé la suite.


    • Modifié Gloops samedi 7 septembre 2013 14:00
    vendredi 6 septembre 2013 22:03

Réponses

  • Bon, alors à ce stade il faut bien reconnaître : j'ai fait un sac de nœuds, devenu inextricable ou quasiment.

    Il devient donc sage de capituler : je suis remonté à une image de disque d'il y a un mois et demi, et du coup cette fois la création de connexion est possible.

    Toutefois l'image de disque remonte à avant l'installation du bon connecteur.

    Je peux donc créer une connexion vers SQL Server, vers Oracle, mais pour le moment pas MySql, même après avoir installé le dernier Connector Net. D'ailleurs je l'ai désinstallé, puis désinstallé celui qu'il y avait avant, et réinstallé le dernier. Pas encore ça. D'ailleurs, le machine.config, dans sa section DbProviderFactories, me paraît ne rien contenir au sujet de MySql.

    Il me reste donc à refaire ce que j'ai fait il y a un mois et demi juste après la sauvegarde, après m'être rafraîchi les idées. Logiquement ça devrait être moins compliqué, on va voir ça demain matin.

    • Marqué comme réponse Gloops mardi 10 septembre 2013 00:18
    lundi 9 septembre 2013 22:04
  • Comme l'historique est mentionné en lien dans le premier message ci-dessus, ça a facilité les choses.

    A nouveau le connecteur 6.7.4 ne donne rien dans Visual Studio 2005, le 5.2.7 lui fonctionne très bien (je précise que je parle de Visual Studio 2005 Professional Edition, sous Windows XP Home SP3).

    Pour établir un shéma d'une base MySql à l'aide d'outils gratuits s'en remettre aux outils MySql : MySql Workbench, ou, plus stable, dbforgemysqlfree.




    • Marqué comme réponse Gloops mardi 10 septembre 2013 00:20
    • Modifié Gloops mardi 10 septembre 2013 00:43
    mardi 10 septembre 2013 00:17

Toutes les réponses

  • Bonjour,

    "Au passage, je souligne que ceci m'empêche aussi de créer une nouvelle connexion vers Sql Server Express, qui de son côté, a priori fonctionnait, jusqu'à ce que je réinstalle .Net. Maintenant, SSMS ne réussit pas à se connecter : Failed to open connection dialog : Could not load type 'System.DateTimeOffset' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (Microsoft.SqlServer.Diagnostics.STrace)"
    Il faut installer (ou réinstaller) le Service Pack 2 du .NET Framework 2.0 (le mieux est d'installer le .NET Framework 3.5 SP1).

    Avez-vous essayé de réinstallé le connecteur pour MySQL (puis de le désinstaller) ?
    Les providers de base de donnés sont enregistrés dans le fichier "C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config" dans la section "<system.data>
        <DbProviderFactories>".

    Si il existe le provider MySQL dans la liste, supprimez le... (redémarrer Visual Studio si il était en cours d'utilisation au moment de la modification du fichier machine.config).

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 8 septembre 2013 09:04
    Modérateur
  • Bonjour et merci pour cette réponse,

    Comme j'ai été sensibilisé aux ProviderFactories par un Connector Net qui semble-t-il n'installait pas automatiquement le sien, je suis tout de suite allé voir ça, et j'ai supprimé la ligne qui concernait MySql, ça remonte déjà à quelques jours.

    Voici ce qui reste, dans le machine.config de la version 2 :

      <system.data>
        <DbProviderFactories>
          <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          <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>
    
    

    A part ça j'ai tenté d'installer un Connector Net Mysql pour le désinstaller, mais comme il y en a eu plusieurs d'installés il faut que ce soit le bon.

    Peut-être un petit coup d'œil au répertoire C:\Program Files\MySQL : il contient trois sous-répertoires, MySql Installer, MySQL Server 5.6, MySQL Workbench 5.2 CE. Il est vrai que pour le Workbench, à un moment il y en avait deux, un avec le numéro de version au début de l'intitulé, et l'autre avec le numéro de version à la fin.

    Hier soir une mise à jour de .Net 2 m'a installé .Net 3 (j'ignorais que ça se faisait dans les mises à jour automatiques) mais l'outil de configuration dans les outils d'administration du panneau de configuration m'indique comme numéro de version 2.0.50727.42, donc semble-t-il il va effectivement falloir que je creuse de ce côté, puisqu'avec le SP2, si je lis bien, j'aurais 2.0.50727.3053.


    dimanche 8 septembre 2013 09:59
  • Alors on en est où déjà ...

    La deuxième vague de mises à jour en comportait 17, dont deux ont échoué, qui concernaient .Net 3.0 et .Net 3.5.

    La plupart des mises à jour concernent .Net 2 SP2, puis-je en conclure qu'il est installé ?

    L'outil de configuration dans le panneau mentionne pourtant toujours la même version installée.

    Je ne peux toujours pas ajouter de nouvelle connexion dans l'explorateur de serveurs de VS 2005.

    dimanche 8 septembre 2013 14:00
  • Bonjour,

    A part ça j'ai tenté d'installer un Connector Net Mysql pour le désinstaller, mais comme il y en a eu plusieurs d'installés il faut que ce soit le bon
    Avez-vous essayé de supprimer tous les connecteurs MySQL installé sur votre machine ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    dimanche 8 septembre 2013 23:03
    Modérateur
  • Bonjour,

    Avez-vous essayé de supprimer tous les connecteurs MySQL installé sur votre machine ?

    Bonjour,

    Oui, bien sûr, du moins ceux qui apparaissent dans Ajout/Suppression de programmes.

    Et j'ai vérifié qu'il n'en reste pas dans Program Files\MySql.

    Par ailleurs en cherchant la chaîne "MySql" dans les fichiers je me suis rappelé qu'il existait une connexion ODBC. Cette fois il a fallu réinstaller pour pouvoir la supprimer.

    lundi 9 septembre 2013 04:59
  • Bon, alors à ce stade il faut bien reconnaître : j'ai fait un sac de nœuds, devenu inextricable ou quasiment.

    Il devient donc sage de capituler : je suis remonté à une image de disque d'il y a un mois et demi, et du coup cette fois la création de connexion est possible.

    Toutefois l'image de disque remonte à avant l'installation du bon connecteur.

    Je peux donc créer une connexion vers SQL Server, vers Oracle, mais pour le moment pas MySql, même après avoir installé le dernier Connector Net. D'ailleurs je l'ai désinstallé, puis désinstallé celui qu'il y avait avant, et réinstallé le dernier. Pas encore ça. D'ailleurs, le machine.config, dans sa section DbProviderFactories, me paraît ne rien contenir au sujet de MySql.

    Il me reste donc à refaire ce que j'ai fait il y a un mois et demi juste après la sauvegarde, après m'être rafraîchi les idées. Logiquement ça devrait être moins compliqué, on va voir ça demain matin.

    • Marqué comme réponse Gloops mardi 10 septembre 2013 00:18
    lundi 9 septembre 2013 22:04
  • Comme l'historique est mentionné en lien dans le premier message ci-dessus, ça a facilité les choses.

    A nouveau le connecteur 6.7.4 ne donne rien dans Visual Studio 2005, le 5.2.7 lui fonctionne très bien (je précise que je parle de Visual Studio 2005 Professional Edition, sous Windows XP Home SP3).

    Pour établir un shéma d'une base MySql à l'aide d'outils gratuits s'en remettre aux outils MySql : MySql Workbench, ou, plus stable, dbforgemysqlfree.




    • Marqué comme réponse Gloops mardi 10 septembre 2013 00:20
    • Modifié Gloops mardi 10 septembre 2013 00:43
    mardi 10 septembre 2013 00:17