2011-11-08 4 views
1

J'ai ce qui devrait être un test trivial ici qui refuse obstinément de travailler. Sur "Open", une exception "Impossible de se connecter à l'un des hôtes MySQL spécifiés" est levée. MySQL.Data est la version 6.4.4.0 et est référencé dans mon projet de studio visuel, qui se construit sans erreur. MySQL est V 5.5.16. Le test est construit en utilisant Visual Studio 2008 avec Windows Forms et est lancé via un bouton,MySQL Connector n'ouvrira pas

J'ai essayé cela à la fois sous Windows XP et Windows 7, sur des boîtes différentes. Je comprends de the documentation qu'il est permis d'utiliser PASSWORD, PWD, UID, nom d'utilisateur, UserName, SERVER, HOST, et de nombreuses variations sur les mots-clés dans la chaîne de connexion, et j'ai essayé tous avec un égal manque de succès. Je suis confiant que mon nom d'utilisateur, mot de passe, et nom d'hôte sont corrects. Je suis capable de me connecter à ma base de données MySQL locale via la ligne de commande en utilisant le même nom d'utilisateur et mot de passe.

using MySql.Data.MySqlClient; 
// and the ususal MS stuff... 
    private void ToMySQL() 
      {     
       MySqlConnection myCon = new MySqlConnection("DataSource=Localhost;Username=root;Password=xxxx;database=data_xxx");   
       try 
       { 
        myCon.Open(); 
        MessageBox.Show("OK"); 
       } 
       catch (Exception ex) 
       { 
        MessageBox.Show(ex.Message); 
       } 
      } 

Ces choses tournent généralement être quelque chose de totalement trivial, mais dans ce cas il est si trivial qu'il est invisible pour moi.

Qu'est-ce que j'ai manqué?

Édition-Addendum: Réponses jusqu'à présent avec une exception (npi) dupliqué ce qui échoue. Si le problème est environnemental, où pourrais-je regarder?

+0

Avez-vous essayé Server = au lieu de DataSource =? J'ai généralement de bons résultats en regardant [ici] (http://www.connectionstrings.com/mysql) pour les chaînes de connexion. – ssamuel

+0

@ssamuel J'ai regardé ce site et 30 autres. Si vous lisez attentivement ma question, vous verrez que j'ai essayé SERVER, ainsi que d'autres alternatives. Je soupçonne que le problème est ailleurs. – mickeyf

Répondre

0

Essayez cette chaîne de connexion -

User Id=<user_name>;Host=<host_name>;Port=<3306>;Database=<db_name>;Password=<your_password> 

Modifier tous < ...> Valeurs.

+0

Pas de joie. Exception: "La chaîne d'entrée n'était pas dans un format correct." Pourquoi avez-vous pensé que cela pourrait fonctionner? – mickeyf

+0

Nous utilisons cette chaîne dans notre code (pour les composants similaires - dotConnect pour MySQL). Jetez un oeil à ce lien (il peut être utile) - http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html#connector-net-examples-mysqlconnection-connectionstring – Devart

+0

Il peut également s'agir d'une erreur de connexion. Essayez de vous connecter avec l'outil de ligne de commande mysql - http://dev.mysql.com/doc/refman/5.5/en/mysql.html; ou avec dbForge Studio pour MySQL. – Devart