2

对于个人项目,我正在尝试使用 MySQL 访问我创建的存储图像的数据库。我正在用 C# 编写脚本,但我的连接拒绝打开。这是我的代码片段(相关部分):

using MySql.Data.MySqlClient;

string cs ="Server=localhost;Database=test;Uid=root;Pwd=password;";

MySqlConnection conn = null;
MySqlDataReader rdr = null;

try 
{
   conn = new MySqlConnection(cs);
   conn.Open();

   string stm = "SELECT * FROM images";
   MySqlCommand cmd = new MySqlCommand(stm, conn);
   rdr = cmd.ExecuteReader();

   while (rdr.Read())
   {
      //do stuff
   }

   catch (Exception ex)
   {
      print (ex.ToString());
   } 

   finally 
   {
      if (rdr != null) 
      {
         rdr.Close();
      }

      if (conn != null) 
      {
         conn.Close();
      }
   }

我已经设置了断点,罪魁祸首是 conn.Open() 函数。那时它会抛出一个异常:

System.TypeInitializationException:MySql.Data.MySqlClient.MySqlTrace 的类型初始化程序引发了异常---> System.MissingMethodException:找不到方法:'System.Configuration.IConfigurationSectionHandler.Create'。在 System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] 在:0 在 System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] 在:0 在系统.Configuration.ConfigurationSettings.GetConfig (System.String sectionName) [0x00000] in :0 at System.Diagnostics.DiagnosticsConfiguration.get_Settings () [0x00000] in :0 at System.Diagnostics.TraceSource..ctor (System.String name, SourceLevels sourceLevels) [0x00000] in :0 在 System.Diagnostics.TraceSource..ctor (System.Diagnostics.TraceSource..ctor)
--- 内部异常堆栈跟踪结束 --- 在 MySql.Data.MySqlClient.Driver.Create (MySql.Data.MySqlClient.MySqlConnectionStringBuilder 设置) [0x00000] in :0 UnityEngine.MonoBehaviour:print(Object) UIScript:Start( ) (在 Assets/UIScript.cs:123)

在我看来,这听起来像是一个旧的/不匹配的 dll,但我引入了 MySql.Data、I18N 和 I18N.West,作为我在谷歌搜索时建议的几个解决方案。我已经用完了建议的修复程序,希望有人能提供帮助。我正在使用 MySQL 5.6 和 .Net 连接器 5.6.6。

4

0 回答 0