我正在编写我的第一个在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数据库。
答案 0 :(得分:16)
添加&#34 ;; SslMode =无"到您的连接字符串
答案 1 :(得分:0)
我远远没有MySql WinRT连接器支持SSL连接。您必须从MySql服务器禁用SSL连接。
Chapter 8 Connector/Net Support for Windows Store
BTW,另一种从mysql检索数据的替代方法是托管REST服务: 应用 - >休息服务 - > MySQL的Connector / Net RT不支持SSL连接或Windows 认证。此外,目前还不支持SHA256。