【问题标题】:can't connect to mysql database with webapi无法使用 webapi 连接到 mysql 数据库
【发布时间】:2018-02-22 15:20:31
【问题描述】:

所以我家里有 zyxel 服务器。我使用 phpmyadmin 创建了 mySQL 数据库。而且我无法使用 asp.net core webAPI 访问该数据库。

我在 IRepository 的方法中遇到了 System.Data.SqlClient.SqlException。当然这是因为该方法正在尝试获取数据库数据。

连接字符串如下所示:

"ConnectionStrings": {
  "DefaultConnection": "Server=(xxx.xxx.x.xx);Database=sensor;User=temp;Password=pwd;Trusted_Connection=True;MultipleActiveResultSets=true"
}

我做错了什么?我在用 python 连接同一个数据库时也有问题。

【问题讨论】:

  • System.Data.SqlClient 用于 Microsoft SQL Server。如果要连接到 MySQL 数据库,则需要使用不同的库。尝试在 NuGet 上寻找合适的库。

标签: c# mysql asp.net asp.net-web-api phpmyadmin


【解决方案1】:

问题 1

该连接字符串似乎是用于 SQL 服务器的。您需要一个 MySql 特定的连接字符串。我一直发现 ConnectionStrings.com 在这种情况下很有帮助。

这是他们提供的 MySQL 模板:

标准

Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

指定 TCP 端口

服务器=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername; 密码=我的密码;

多台服务器

使用它连接到复制服务器配置中的服务器 不用担心使用哪个服务器。

服务器=服务器地址 1,服务器地址 2, 服务器地址3;数据库=我的数据库; uid=myUsername;Pwd=myPassword;

更多信息请参见https://www.connectionstrings.com/mysql/

问题 2

根据您提供的错误消息,您使用的是 SQL 数据提供程序而不是 MySQL 连接器。最重要的是,您需要一个 MySQL 连接器。你可以下载那个here

有关更多信息,请参阅此帖子:System.Data.SqlClient Namespace for MySQL?

【讨论】:

  • @mason,你说得对。我推送提交太快了。我已经更新了我的答案。感谢您的提醒。
  • 嘿,这次我尝试在本地主机上搭建我的电脑上启动的数据库,但我收到“构建失败”消息。有什么线索吗?
  • @Luka,不,抱歉。信息不够。
【解决方案2】:

使用Pomelo's library 解决了我的问题。文档库似乎无法正常工作。

【讨论】:

    猜你喜欢
    • 2015-03-09
    • 2021-01-20
    • 2014-01-16
    • 2018-11-14
    • 2023-03-13
    • 2011-07-03
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多