我写了一些试图连接到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”中,或者所有所需的附属程序集都是可加载和完全签名的。“
有人知道我错过了什么或者做错了什么来防止这种联系?
答案 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面板添加了参考
它就像一个魅力。