個人的なプロジェクトでは、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 at System.Diagnostics.TraceSource..ctor (System.
--- 内部例外スタック トレースの終了 --- 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 Connector 5.6.6 を使用しています。