首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法连接到任何指定的MySQL主机-语法NAS - MariaDB 10 - C#

错误:无法连接到任何指定的MySQL主机-语法NAS - MariaDB 10 - C#
EN

Stack Overflow用户
提问于 2021-05-28 17:34:20
回答 1查看 735关注 0票数 0

使用C# 10将VisualStudio2019中的MariaDB应用程序连接到Snyology中的数据库有问题。如果我将数据库与HeidiSQL连接起来很好,但是如果我试图用相同的凭据连接C#应用程序,我会看到这样的错误:

“无法连接到任何指定的MySQL主机”

我试着检查一下,并证实:

  • 在语法NAS上启用TCP功能
  • 用户和密码是正确的,我拥有所有的特权。
  • 数据库名是正确的
  • 端口也是正确的3307 (设置默认的语法)

这是我用来检查连接的代码:

代码语言:javascript
复制
string connectionString = "";
string server = "ip_address_NAS:3307";
string database = "my_Database";
string username = "my_user";
string password = "my_password";

MySql.Data.MySqlClient.MySqlConnection cn;

connectionString = "SERVER=" + server + ";DATABASE=" + database + ";UID=" + username + ";PASSWORD=" + password;          
            
try
{

cn = new MySql.Data.MySqlClient.MySqlConnection(connectionString);                
cn.Open();                
label1.Text = "Database ONLINE!";                
label1.ForeColor = System.Drawing.Color.Green;                
cn.Close();
            
}
            
catch(Exception ex)            
{
                
label1.Text = "Database OFFLINE!\n" + ex.Message;                
label1.ForeColor = System.Drawing.Color.Red;
            
}

为什么会有这个错误?你能帮帮我吗?请。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-05-28 17:48:42

从主机名中删除端口号。如果连接到默认端口,则不需要指定端口。如果要连接到自定义端口,则必须以下列方式定义它

代码语言:javascript
复制
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword

文档

编辑

3307不是MySQL或MariaDB的默认端口。因此,如果您的数据库运行在端口3307上(因为无论出于什么原因,Synology选择它作为初始设置),则需要在连接字符串中指定该端口。但不是作为servername的一部分,而是使用Port=3307属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67743317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档