ASP.NET引用中的MySQL连接问题

时间:2009-06-04 00:43:09

标签: c# asp.net mysql

我写了一些试图连接到mysql数据库的代码。 我已经安装了this。 我在项目中添加了一个MySql.Data.CF.dll引用。 该项目没有任何投诉。

当我执行此操作时......

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;
}

我得到如下例外:

  

无法找到适合指定文化或中性文化的任何资源。确保在编译时将“MySql.Data.MySqlClient.Properties.Resources.resources”正确嵌入或链接到程序集“MySql.Data.CF”中,或者所有所需的附属程序集都是可加载和完全签名的。“

有人知道我错过了什么或者做错了什么来防止这种联系?

2 个答案:

答案 0 :(得分:4)

我会尝试重新安装MySql连接器。

然后我会重写这样的代码:

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;
    }
}

您需要确保丢弃连接,并且使用块将执行此操作。

答案 1 :(得分:1)

我遇到了同样的问题。我的问题是我没有从 .NET面板添加参考,而是从浏览面板添加。
在我安装版本6.2.3.0之后,我从 .NET面板添加了参考 它就像一个魅力。