首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在工作中使用c#连接mysql服务器

问无法在工作中使用c#连接mysql服务器
EN

Stack Overflow用户
提问于 2022-07-18 11:29:13
回答 1查看 72关注 0票数 1

为什么我无法连接到免费云mysql使用C#连接器从我的工作办公室PC机,而我可以连接到同一服务器使用mysql工具?

当我无法连接时,我得到的消息是"Connect Timeout过期“。

我也尝试在我的电脑在家里,我可以很好地连接使用完全相同的C#代码。Mysql工具也可以在家工作。

它可以是防火墙或其他安全措施在我的工作公司网络?为什么它不阻止mysql工具?

我还尝试使用本地主机mysql (在端口51255上使用mysqld )。我成功地使用mysql工具进行了连接,但获得了与c#代码相同的错误。

EDIT1 -包括代码

EDIT2 -本地主机尝试

代码语言:javascript
复制
private async Task<string> ConnectDB()
{
    MySqlConnectionStringBuilder dbinfo = new MySqlConnectionStringBuilder
    {
        Server = "******",
        Port = ****,
        Database = "*****",
        UserID = "*****",
        Password = "*****",
    };
    using(MySqlConnection connection = new MySqlConnection(dbinfo.ConnectionString))
    {           
        try
        {
            await connection.OpenAsync();           
        }
        catch (MySqlException error)
        {                                               
            message = error.Message;                
        }
                
        if (connection.State == ConnectionState.Open)
        {                   
            message = "Success!";
        } 

    }
    return message;
}
EN

回答 1

Stack Overflow用户

发布于 2022-07-18 15:19:11

我们看到相同的C#代码在家里工作,但在办公室不起作用。因此,这不是代码;它必须与办公室的环境有关。但是你可以通过命令行工具在办公室连接,所以它也不是公司防火墙,这将很难区分两者之间的区别。

剩下的是在本地电脑上工作的东西。本地操作系统防火墙和防病毒软件都出现在我的脑海中,而在我看来,反病毒软件听起来更可疑。另一个选项是DNS,其中office的DNS服务正在以不同的方式解析数据库的主机名。但如果没有更多的信息,这只是猜测。我建议增加更多的日志;现在我们甚至不知道完整的错误消息。

另外要指出的是,直接向互联网公开数据库并不常见,而且被认为是非常糟糕的做法。此外,应用程序应该与数据库连接得很好。多年来,“人际关系良好”的定义已经发生了变化,但“公共互联网”并不算在内。通常,如果您在另一个位置承载数据库,那么在数据库前面将有一个web端点,该API的服务器可以位于与DB相同的位置,因此连接良好。

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

https://stackoverflow.com/questions/73021620

复制
相关文章

相似问题

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