MySql.Data.MySqlClient.Replication.ReplicationManager抛出System.TypeInitializationException
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql.Data.MySqlClient.Replication.ReplicationManager抛出System.TypeInitializationException相关的知识,希望对你有一定的参考价值。
我的代码访问mysql数据库时遇到问题。每次我试图打开我的连接时,System.TypeInitializationException
都会抛出MySql.Data.MySqlClient.Replication.ReplicationManager
。这是我的代码:
DataTable results = new DataTable("Results");
using (MySqlConnection connection = new MySqlConnection("SERVER=127.0.0.1;DATABASE=foo;UID=bar;PASSWORD=foobar;"))
{
using (MySqlCommand command = new MySqlCommand(queryString, connection))
{
command.Connection.Open(); //throws System.TypeInitializationException
command.ExecuteNonQuery();
using (MySqlDataReader reader = command.ExecuteReader())
results.Load(reader);
}
}
编辑:我猜MySQL驱动程序已损坏。从Windows 7升级到Windows 10后,一切正常。
答案
您的连接字符串格式错误。试试这个 :
static string cs = @"server=localhost;user id=bar;password=foobar;database=foo;";
DataTable results = new DataTable("Results");
using (MySqlConnection connection = new MySqlConnection(cs))
{
using (MySqlCommand command = new MySqlCommand(queryString, connection))
{
command.Connection.Open(); //throws System.TypeInitializationException
command.ExecuteNonQuery();
using (MySqlDataReader reader = command.ExecuteReader())
results.Load(reader);
}
}
另一答案
我有同样的问题,但当我使用Nuget安装MySql.Data.dll然后问题解决从Nuget安装MySql.Dll文件,
不是来自MySQL网站。
以上是关于MySql.Data.MySqlClient.Replication.ReplicationManager抛出System.TypeInitializationException的主要内容,如果未能解决你的问题,请参考以下文章