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的主要内容,如果未能解决你的问题,请参考以下文章