Пример программы смог успешно подключаемся к MySQL v8.0.32, но появляется сообщение «Ошибка выполнения запроса: заданный ключ отсутствует в словаре». при попытке запустить select version();.
См. выходные данные теста ниже, а также мы позже прикрепляем пример кода в разделе сведений.
.Net version: 4.0.30319.42000
Attempting to open connection...
Connection successful!
Error executing query: The given key was not present in the dictionary.
Press any key to continue . . .
< /code>
Мы пробовали строку подключения: < /p>
- server=192.168.56.5;uid=root;port=3306;database=test-source;pwd=mysql_root_password, или
- server=192.168.56.5;uid=root;port=3306;database=test-source;charset=utf8mb4;pwd=mysql_root_password
- https://stackoverflow.com/questions/419 ... r%20anyone% 20при %20ошибке%20%20соединитель%20 должен%20 решить%20ошибку.
Полный пример исходного кода:
using System;
using MySql.Data.MySqlClient;
class Program
{
static void Main(string[] args)
{
Console.WriteLine(".Net version: " + Environment.Version.ToString());
string connectionString = "server=192.168.56.5;uid=root;port=3306;database=test-source;pwd=mysql_root_password";
try
{
using (var connection = new MySqlConnection(connectionString))
{
Console.WriteLine("Attempting to open connection...");
connection.Open();
if (connection.State == System.Data.ConnectionState.Open)
{
Console.WriteLine("Connection successful!");
// Retrieve MySQL version
try
{
string query = "SELECT VERSION();";
using (var command = new MySqlCommand(query, connection))
{
string version = command.ExecuteScalar().ToString();
Console.WriteLine("MySQL Version: " + version);
}
}
catch (Exception ex)
{
Console.WriteLine("Error executing query: " + ex.Message);
}
}
else
{
Console.WriteLine("Failed to open the connection.");
}
}
}
catch (MySqlException ex)
{
Console.WriteLine("MySQL Exception: " + ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("General Exception: " + ex.Message);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -given-key
Мобильная версия