2010-04-21 5 views
0

Je ne peux pas me connecter à MySQL, il échoue sur la ligne connection.Open(), y a-t-il un problème avec mon code?La connexion a échoué avec MySQL .NET Connecteur

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
using MySql.Data.MySqlClient; 

namespace MySQLConnection 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

      string MyConString = "SERVER=localhost:3316;" + 
       "DATABASE=mydb;" + 
       "UID=user;" + 
       "PASSWORD=password;"; 
      MySqlConnection connection = new MySqlConnection(MyConString); 
      connection.Open(); 
      // ... 
      connection.Close(); 

     } 
    } 
} 
+1

L'exception vous donnera des conseils sur ce qui ne va pas. Que dit l'exception? – nos

+0

Pouvez-vous nous montrer le message d'exception? –

+0

Et quelle version du Connecteur utilisez-vous? Les versions récentes utilisent des chaînes de connexions comme SQL Server utilise ... (User ID au lieu de UID) – TJMonk15

Répondre

2

c'est le format de la chaîne que j'utilise pour se connecter via la version 6.1.2.0 MySql.Data.dll

server = {0}; id utilisateur = {1}; password = {2}; base de données = { 3}; port = {4}

de sorte que votre chaîne de connexion devrait être

server = localhost; id user = utilisateur; password = mot de passe; base de données = mydb; port = 3316

+0

merci va essayer. Je ne peux pas marquer deux bonnes réponses mais je vous ai sélectionné car vous avez moins de points :) – user310291

2

Vous devez spécifier le port comme argument séparé dans la chaîne de connexion et il ressemble à la clé de mot de passe est « Pwd » au lieu de « Mot de passe ».

Voir connectionstrings.com pour obtenir de l'aide sur la syntaxe exacte.

+0

Je pense que vous devriez avoir raison, va essayer. – user310291

Questions connexes