MySQL数据库如何连接W10通用应用

How to connect W10 Universal App with MySQL database

我正在编写我的第一个 Windows 10 通用应用程序,它在 MySql 数据库上运行。我使用了本指南中的代码(适用于 Windows 8 个商店应用程序):

https://blogs.oracle.com/MySqlOnWindows/entry/how_to_using_connector_net

但是当我尝试打开与我的数据库的连接时出现错误:

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;
            }
        }
    }
}

所以,我的问题是如何解决这个问题并正确连接到 Windows 10 Universal App 中的 MySql 数据库。

恐怕 MySql WinRT 连接器不支持 SSL 连接。您必须禁用来自 MySql 服务器的 SSL 连接。

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

顺便说一句,另一种从 mysql 检索数据的方法是托管 REST 服务: 应用 -> 休息服务 -> MySQL

将“;SslMode=None”添加到您的连接字符串