如何将W10 Universal App与MySQL数据库连接

时间:2015-09-07 15:32:38

标签: c# mysql win-universal-app

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

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

但是当我尝试打开与数据库的连接时,我收到错误:

  

> MySql.Data.RT.dll中出现'System.NotImplementedException'类型的异常,但未在用户代码中处理

     

其他信息:此WinRT版本不支持SSL。

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数据库。

2 个答案:

答案 0 :(得分:16)

添加&#34 ;; SslMode =无"到您的连接字符串

答案 1 :(得分:0)

我远远没有MySql WinRT连接器支持SSL连接。您必须从MySql服务器禁用SSL连接。

Chapter 8 Connector/Net Support for Windows Store

  

Connector / Net RT不支持SSL连接或Windows   认证。此外,目前还不支持SHA256。

6.3.6.4 SSL Command Options

BTW,另一种从mysql检索数据的替代方法是托管REST服务: 应用 - >休息服务 - > MySQL的