c# - Visual Studio 认为我想连接到 SQL Server 而不是 MySQL?

标签 c# visual-studio mysql-connector

我正在尝试在 Visual Studio 2017 中连接到 MySQL 数据库。到目前为止,使用向导和数据集进行连接效果非常好,但尝试仅使用代码进行连接会产生以下错误:

Error 40: Could not open a connection to SQL Server

不出所料,谷歌搜索这个错误,会得到适合使用 SQL Server 的人的结果,但我不是。我在这里缺少什么?我知道我的数据库已启动并正在运行,因为我的程序的所有其他功能仍然有效。

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GenericDB.Properties.Settings.GenericDBConnectionString"].ToString()))
{
    try
    {
        string query = "SELECT name, siteID FROM site";
        SqlDataAdapter da = new SqlDataAdapter(query, conn);
        conn.Open();
        DataSet ds = new DataSet();
        da.Fill(ds, "site");
        cmbOrderReceiving.DisplayMember = "name";
        cmbOrderReceiving.ValueMember = "siteID";
        cmbOrderReceiving.DataSource = ds.Tables["site"];
    }

最佳答案

您正在使用 Sql Client 库中的类,这些类仅适用于 Sql Server。安装 MySql 连接器后,您应该将正确的 using 指令添加到代码文件中

using MySql.Data.MySqlClient;

然后将 SqlXXXX 类的每个引用更改为 MySqlXXXX 类

using (MySqlConnection conn = new MySqlConnection(.....))
{
    try
    {
        string query = "SELECT name, siteID FROM site";
        MySqlDataAdapter da = new MySqlDataAdapter(query, conn);
        conn.Open();
        DataSet ds = new DataSet();
        da.Fill(ds, "site");
        cmbOrderReceiving.DisplayMember = "name";
        cmbOrderReceiving.ValueMember = "siteID";
        cmbOrderReceiving.DataSource = ds.Tables["site"];
    }
}

关于c# - Visual Studio 认为我想连接到 SQL Server 而不是 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610475/

相关文章:

c# - 为什么 Intellisense 将变量显示为声明右侧的选项?

c# - 将 visual studio 中的链接文件复制到某个位置

java - 如何防止Mysql Connector/J转换DATE和TIME时区?

c# - 比较 MySql 中的 EntityFrameworkCore 字符串列无法生成正确的 SQL

c# - 使用 Dependency Property 传递回调方法

c# - 为什么 unsigned int 被认为是 long?我错过了什么吗?

C# 扩展方法和保护级别?

c# - 如何将当前的aspx页面保存为html

c# - 如何连接MySQL数据库?

python - Visual Studio 不适用于 Anaconda 环境