如何使运行在ubuntu机器上的.netcore与本地数据库连接

gajydyqb  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(369)

我有一个运行在ubuntu上的.net核心程序,我需要添加一个到运行在同一台机器上的数据库的连接。
我在我的windows机器上创建了一个测试程序,它连接到我想要的数据库和表并与之交互(通过putty隧道),但是使用了 MySql.Data.MySqlClient ,这似乎是特定于windows的。我复制了 connection.cs 为ubuntu服务器编写代码(更改了名称空间,在主程序中引用了名称空间等)。当我试图建立,它找不到 MySql.Data.MySqlClient (mysql上的类型或命名空间错误)。
让它工作是一个问题)加载 MySql.Data.MySqlClient 在ubuntu机器中,b)使用不同的包(如果有人知道的话)或者c)用完全不同的方式。
我试过查看教程/其他so帖子来查看它们的代码,但没有一篇是关于连接到同一台机器上托管的普通db的。

eqzww0vc

eqzww0vc1#

无耻地模仿https://dev.mysql.com/doc/connector-net/en/connector-net-programming-connecting-connection-string.html

MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;

myConnectionString = "server=127.0.0.1;uid=root;" +
    "pwd=12345;database=test";

try
{
    conn = new MySql.Data.MySqlClient.MySqlConnection();
    conn.ConnectionString = myConnectionString;
    conn.Open();
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
    MessageBox.Show(ex.Message);
}

如果你的ubuntu机器上还没有mysqlclient,你就需要在上面安装它。只需在包管理器中选择它。
另外,如果这不起作用,请验证mysql是否正在侦听tcp端口。可能您正在尝试tcp连接,但实际上它正在侦听套接字。
https://dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html

相关问题