2009-06-04 7 views
1

Ich habe etwas Code geschrieben, der versucht, eine Verbindung zu einer MySQL-Datenbank herzustellen. Ich habe this installiert. Ich habe eine Referenz hinzugefügt, die MySql.Data.CF.dll im Projekt ist. Das Projekt kompiliert ohne Beanstandungen.MySQL-Verbindung in ASP.NET-Verweisen Problem

Als ich dies ausführen ...

string conn_str = ConfigurationManager.ConnectionStrings["MySQLServer"].ConnectionString; 
DataSet m_Dst = new DataSet(); 
DataTable All_Table = new DataTable(); 
try 
{ 
    MySqlCommand cmd = new MySqlCommand(m_SQL, new MySqlConnection(conn_str)); 
    cmd.CommandType = CommandType.Text; 
    cmd.Connection.Open(); 
    MySqlDataAdapter MyDa = new MySqlDataAdapter(cmd); 
    MyDa.Fill(m_Dst); 
    if (m_Dst.Tables.Count > 0) 
     All_Table = m_Dst.Tables[0]; 
} 
catch (Exception ex) 
{ 
    string s = ex.Message; 
} 

erhalte ich eine Ausnahme wie folgt:

konnte keine Ressourcen für die angegebene Kultur oder die neutrale Kultur finden. Stellen Sie sicher, dass "MySql.Data.MySqlClient.Properties.Resources.resources" beim Kompilieren korrekt in die Assembly "MySql.Data.CF" eingebettet oder eingebunden wurde, oder dass alle erforderlichen Satellitenassemblies ladbar und vollständig signiert sind. "

Wer weiß, was mir fehlt oder falsch gemacht haben, diese Verbindung zu verhindern

Antwort

4

ich würde Neuinstallation der MySQL Connector versuchen

Dann würde ich diesen Code wie folgt neu schreiben:.

string conn_str = ConfigurationManager.ConnectionStrings["MySQLServer"].ConnectionString; 

DataTable All_Table = new DataTable(); 
using (MySqlConnection cn = new MySqlconnection(conn_str)) 
using (MySqlCommand cmd = new MySqlCommand(m_SQL, cn)) 
{ 
    try 
    { 
     cn.Open(); 
     using (MySqlDataReader rdr = cmd.ExecuteReader()) 
     { 
      All_Table.Load(rdr); 
      rdr.Close(); 
     } 
    } 
    catch (Exception ex) 
    { 
     string s = ex.Message; 
    } 
} 

Sie müssen sicherstellen, dass Sie Ihre Verbindung entsorgen, und die Verwendungsblöcke werden das tun.

+0

Ja, ich plane es zu entsorgen, aber ich habe es nur getestet. Und ich bekomme diesen Fehler. Ich habe bereits versucht, neu zu installieren, so dass es auch nicht die Lösung ist. Andere Ideen ? – Gabe

+0

Ich würde die Fehlermeldung bei Nennwert nehmen. Es beschwert sich über Culture-/Satellite-Assemblies, und so würde ich sicherstellen, dass die lokalisierte Version des Connectors mit Ihrem System übereinstimmt oder dass Sie alle benötigten Lokalisierungsassemblys mit der Bereitstellung verbunden haben. –

+0

BTW, können Sie 'cn.CreateCommand()' statt 'new MySqlCommand (,)' verwenden – abatishchev

1

Ich hatte das gleiche Problem. Mein Problem war, dass ich nicht die Reference von .NET Panel, sondern von der Browse Panel hinzufügen.
Nachdem ich Version 6.2.3.0 installiert habe, habe ich die Reference aus dem .NET Panel hinzugefügt.
Es funktionierte wie ein Charme.