SQL_ERROR: инициализатор типа для «MySql.Data.MySqlClient.MySqlConnectAttrs» вызвал исключение - PullRequest
1 голос
/ 15 марта 2019

У меня ошибка с моим кодом C # и MySQL. Можете ли вы помочь мне решить это, пожалуйста?

Вот мой код:

try
{
     using (MySqlConnection dbcon = new MySqlConnection(SQLConnectionString))
     {
         dbcon.Open(); // ERROR HERE
         string sql = "SELECT * FROM scp_patreons";
         MySqlCommand command = new MySqlCommand();
         command = dbcon.CreateCommand();
         command.CommandText = sql;
         using (MySqlDataReader dr = command.ExecuteReader())
         {
             while (dr.Read())
             {
                 string fullname = (string)dr["fullname"];
                 plugin.Info("Name: " + fullname + "");
             }
         }
     }
 }
 catch (Exception ex)
 {
     plugin.Info("SQL_ERROR: " + ex.Message + "\n" + ex.StackTrace);
 }


string SQLConnectionString = "Server=*; Database=*; User ID = *; Password=*; Pooling=false;SslMode=None;";

и я получаю сообщение об ошибке:

SQL_ERROR: The type initializer for 'MySql.Data.MySqlClient.MySqlConnectAttrs' threw an exception.
  at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
  at MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs () [0x00018] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate (System.Boolean reset) [0x00080] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.NativeDriver.Authenticate (System.String authMethod, System.Boolean reset) [0x0002a] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.NativeDriver.Open () [0x0033f] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004e] in <699dc28794d34867bd2008187eb8039c>:0 
  at MySql.Data.MySqlClient.MySqlConnection.Open () [0x0016d] in <699dc28794d34867bd2008187eb8039c>:0 
  at PlayerXP.PlayerXP.OnEnable () [0x00021] in <80e302c4eac64aeebd42276ff4a14839>:0 

Я использую 5.7.25 - MySQL Community Server (GPL)
Сервер: Localhost с сокетом UNIX Версия протокола: 10
Пользователь: root @ localhost
Символ сервера: UTF-8 Unicode (utf8)
Моно JIT-компилятор версии 5.18.0.268
Разъем / NET 8.0.15
Я использую Debian 9.6.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ:

Новое сообщение об ошибке:

System.TypeInitializationException: The type initializer for 'MySql.Data.MySqlClient.MySqlConnectAttrs' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
at MySql.Data.MySqlClient.MySqlConnectAttrs..cctor () [0x0000f] in <699dc28794d34867bd2008187eb8039c>:0
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Object.__icall_wrapper_mono_generic_class_init(intptr)
at MySql.Data.MySqlClient.NativeDriver.SetConnectAttrs () [0x00018] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate (System.Boolean reset) [0x00080] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.NativeDriver.Authenticate (System.String authMethod, System.Boolean reset) [0x0002a] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.NativeDriver.Open () [0x0033f] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.Driver.Open () [0x0000e] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder settings) [0x0004e] in <699dc28794d34867bd2008187eb8039c>:0
at MySql.Data.MySqlClient.MySqlConnection.Open () [0x0016d] in <699dc28794d34867bd2008187eb8039c>:0
at PlayerXP.PlayerXP.OnEnable () [0x00021] in <cc464d994e5a47c88df91f25374d2f29>:0

1 Ответ

1 голос
/ 02 апреля 2019

Благодаря @ Брэдли Грейнджер моя проблема решена.Я пробовал http://www.nuget.org/packages/MySqlConnector и это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...