我一直在使用Visual Studio 2019,并正在关注有关如何建立在线数据库的教程。在建立连接的第一步中,我收到一条错误消息:
System.TypeInitializationException:“ MySql.Data.MySqlClient.Replication.ReplicationManager”的类型初始值设定项引发了异常。
此错误已在Visual Studio的早期版本中得到解决,但我在Visual Studio 2019中未发现任何有关此错误的信息。
这是我关注的教程:https://youtu.be/FOZ8HNJMXXg 我一直在寻找这个错误,发现人们在Visual Studio的早期版本中完全一样的错误。他们的解决方案是打开“ SQL Server调试”(请参阅此答案https://stackoverflow.com/a/20788018/11327572) 我一直在寻找该选项,但在任何地方都找不到。我也在Visual Studio 2019中搜索了错误,但找不到任何错误。
MySqlConnection con = new MySqlConnection("server=db4free.net;port=3306;database=***;User Id=***;Password=***!;charset=utf8");
try
{
if (con.State == ConnectionState.Closed)
{
con.Open(); //this is the line the break comes up on.
Log.Debug("MySQL connected", con.ToString());
}
con.Close();
}catch(MySqlException ex)
{
Log.Debug("MySQL error", ex.ToString());
}
答案 0 :(得分:1)
我遇到了同样的问题,但是我用这个软件包 MySqlConnector
注意
如果您使用的是root用户,请尝试使用密码创建另一个用户。
这是我用来连接MySql的类。
public class SQLDataAccess
{
string cs = @"Server=172.20.10.5;Database=TestDB;Uid=Creative;Pwd=123456;";
public SQLDataAccess()
{
try
{
connection = new MySqlConnection(cs);
connection.Open();
}
catch (MySqlException Ex)
{
Console.WriteLine(Ex.Message);
}
}
private string databaseName = string.Empty;
public string DatabaseName
{
get { return databaseName; }
set { databaseName = value; }
}
public string Password { get; set; }
private MySqlConnection connection = null;
public MySqlConnection Connection
{
get { return connection; }
}
private static SQLDataAccess _instance = null;
public static SQLDataAccess Instance()
{
if (_instance == null)
_instance = new SQLDataAccess();
return _instance;
}
public bool IsConnect()
{
try
{
connection = new MySqlConnection(cs);
connection.Open();
return true;
}
catch (MySqlException Ex)
{
Console.WriteLine(Ex.Message);
return false;
}
}
public void Close()
{
connection.Close();
}
}