问题
I'm writing my first Windows 10 Universal App that operates on MySql database. I used code from this guide (It's for Windows 8 store apps):
https://blogs.oracle.com/MySqlOnWindows/entry/how_to_using_connector_net
But when I try to open connection with my database I get error:
An exception of type 'System.NotImplementedException' occurred in >MySql.Data.RT.dll but was not handled in user code
Additional information: SSL not supported in this WinRT release.
public class DBconnector
{
static string server = "127.0.0.1";
static string database = "hurtownia";
static string user = "root";
static string pswd = "root";
public static bool login(string email, string password)
{
string connectionString = "Server = " + server + ";database = " + database + ";uid = " + user + ";password = " + pswd + ";";
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand checkLogin = new MySqlCommand("select password_hash, password_salt from users where email = \""+email+"\"",connection);
using (MySqlDataReader reader = checkLogin.ExecuteReader())
{
reader.Read();
string hash = reader.GetString("password_hash");
string salt = reader.GetString("password_salt");
bool result = passwordGenerator.compare(password, hash, salt);
if (result)
return true;
else
return false;
}
}
}
}
So, my question is how to fix that and correctly connect to MySql database in Windows 10 Universal App.
回答1:
Add ";SslMode=None" to your connection string
回答2:
I'm afarid the SSL connection is not supported by MySql WinRT connector. You have to disable the SSL connection from the MySql server.
Chapter 8 Connector/Net Support for Windows Store
Connector/Net RT does not support SSL connections or Windows authentication. Also, SHA256 is not currectly supported.
6.3.6.4 SSL Command Options
BTW, another alternative way to retrieve the data from mysql is host a REST service: App -> Rest Service -> MySQL
来源:https://stackoverflow.com/questions/32442056/how-to-connect-w10-universal-app-with-mysql-database