Я использую единство, чтобы попытаться подключиться к базе данных MySQL. База данных работает нормально, код работает отлично (в Visual Studio 2010). Однако когда следующее вбежал Unity:Unity C# application KeyNotFoundException
// Connect to database
private static void openSqlConnection() {
string connectionString = "Server=localhost;Database=league;Uid=android;Pwd=secret;";
connection = new MySqlConnection(connectionString);
try{
connection.Open();
Debug.Log("Connected to database.");
}
catch(MySql.Data.MySqlClient.MySqlException ex){
Debug.Log(ex.Number);
Debug.Log(ex.Message);
}
}
Этот код будет бросить следующее сообщение об ошибке:
KeyNotFoundException: The given key was not present in the dictionary.
System.Collections.Generic.Dictionary`2[System.String,System.Object].get_Item (System.String key) (at /Applications/buildAgent/work/c514da0c8183631c/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:150)
MySql.Data.MySqlClient.MySqlConnectionStringBuilder.get_ExceptionInterceptors()
Это является сборка для ПК (побежал в редакторе) и к моему знанию этого кода работает в визуальной студии с той же самой DLL MySQL. Почему он бросает это странное исключение? Мне бы очень понравился простой способ подключения к моей базе данных SQL изнутри единства.
библиотека DLL я использую:
MySQL\Connector NET 6.7.4\Assemblies\v2.0\MySql.Data.dll
И блок попытка поймать, кажется, бесполезно здесь.
Достаточно справедливо, я отредактировал строку соединения так: 'string connectionString =" Server = localhost; Database = league; User ID = android; Password = android; Pooling = false ";' Это, однако, не изменяет ничего , Нужно ли мне включать другую версию MySql dll? – Smileynator