无法从.NET Connector连接到Azure MySQL数据库 [英] Cannot connect to Azure MySQL database from .NET Connector

查看:78
本文介绍了无法从.NET Connector连接到Azure MySQL数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用MySQL Workbench和MySQL Shell连接到数据库,它运行正常。现在我尝试使用以下C#代码进行连接:

 var connStringBuilder = new MySqlConnectionStringBuilder 
{
Server =" creatur -db.mysql.database.azure.com",
Database =" test",
UserID =" creatur_db_main @ creatur-db",
Password =" {my_password}" ;,
SslMode = MySqlSslMode.Preferred,
};

using(MySqlConnection connection = new MySqlConnection(connStringBuilder.ToString()))
{
connection.Open();

connection.Close();
}

在这里,我用密码替换{my_password}到数据库,它在Open方法中给了我一个例外: 


MySql.Data.MySqlClient.MySqlException:'使用方法'mysql_native_password'对用户'creatur_db_main @ creatur-db'的主机'creatur-db.mysql.database.azure.com'进行身份验证消息失败:连接字符串可能不正确。请访问portal
以获取参考。


我还尝试了不同的连接字符串:


Server = creatur-db.mysql.database.azure .COM;端口= 3306;数据库=测试; UID = creatur_db_main @ creatur-DB; PWD = {MY_PASSWORD}; SslMode =首选



数据库=测试;数据源= creatur-db.mysql.database.azure.com;用户ID = creatur_db_main @ creatur-db;密码= {my_password}


但它们都没有工作。


当我在Visual Studio 2013中使用服务器资源管理器创建新连接时,会发生同样的异常。似乎该错误与.NET Connector有关。我试图使用不同版本的MySQL.Data.dll,.NET Framework和Visual Studio,但没有运气。

解决方案

< blockquote>

Hi Bohdan, 


您可以查看"强制SSL连接"的值吗?在你的服务器上?这可以从"连接安全性"访问。刀片。 


我假设您正在关注此文档?  https://docs.microsoft.com/en-us/azure/mysql/connect-csharp


谢谢,


Andrea Lam


项目经理


Azure数据


I tried to connect to the database using MySQL Workbench and MySQL Shell and it works fine. Now I am trying to connect using following C# code:

var connStringBuilder = new MySqlConnectionStringBuilder
            {
                Server = "creatur-db.mysql.database.azure.com",
                Database = "test",
                UserID = "creatur_db_main@creatur-db",
                Password = "{my_password}",
                SslMode = MySqlSslMode.Preferred,
            };

            using (MySqlConnection connection = new MySqlConnection(connStringBuilder.ToString()))
            {
                connection.Open();

                connection.Close();
            }

Here I replaced {my_password} with password to the database and it gives me an exception inside Open method: 

MySql.Data.MySqlClient.MySqlException: 'Authentication to host 'creatur-db.mysql.database.azure.com' for user 'creatur_db_main@creatur-db' using method 'mysql_native_password' failed with message: The connection string may not be right. Please visit portal for references.

I also tried different connection strings:

Server=creatur-db.mysql.database.azure.com; Port=3306; Database=test; Uid=creatur_db_main@creatur-db; Pwd={my_password}; SslMode=Preferred

and

Database=test; Data Source=creatur-db.mysql.database.azure.com; User Id=creatur_db_main@creatur-db; Password={my_password}

But none of them worked.

The same exception occurs when I create new connection using Server Explorer in Visual Studio 2013. It seems the error has something to do with .NET Connector. I tried to use different versions of MySQL.Data.dll, .NET Framework and Visual Studio but no luck.

解决方案

Hi Bohdan, 

Can you check the value of "Enforce SSL connection" on your server? This can be accessed from the "Connection security" blade. 

I'm assuming you're following this doc? https://docs.microsoft.com/en-us/azure/mysql/connect-csharp

Thanks,

Andrea Lam

Program Manager

Azure Data


这篇关于无法从.NET Connector连接到Azure MySQL数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆