使用 MySql.Data.MySqlClient;不管用

Posted

技术标签:

【中文标题】使用 MySql.Data.MySqlClient;不管用【英文标题】:using MySql.Data.MySqlClient; is not working 【发布时间】:2010-11-28 04:35:33 【问题描述】:

在我使用 MS SQL 之前,但在一个新项目中我使用 mysql,当我运行我们的应用程序时出现此错误

编译错误说明:编译过程中发生错误 编译服务此请求所需的资源。请 查看以下特定错误详细信息并修改您的源 适当的编码。

编译器错误消息:CS0246:类型或命名空间名称“MySql” 找不到(您是否缺少 using 指令或程序集 参考?)

来源错误:

Line 4:  using System.Text;
Line 5:  using System.Web;
Line 6:  `using MySql.Data.MySqlClient;    this namespace is not working 
Line 7:  using System.Data.SqlTypes;

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您需要添加对 MySQL.Data.dll 的引用(如果没有,可以通过 Lukasz 发布的链接下载)

【讨论】:

【参考方案2】:

要解决这个问题,请从

下载 MySql.Data.dll

https://www.dllme.com/dll/files/mysql_data_dll.html

然后右键单击你的项目名称,点击添加引用并选择 MySql.Data.dll 文件

【讨论】:

感谢这项工作也为我节省了我的一天,非常感谢(Visual Studio 2012) @allexiusw - 感谢您的留言。添加了新链接。 :)【参考方案3】:

在项目解决方案框架中找到References文件并右键单击它,然后在菜单上选择“添加引用”,然后单击.NET选项卡,找到MySql.Data 并将其添加到参考文件中。

【讨论】:

【参考方案4】:

1) 右键单击​​引用,选择添加引用。

2) 选择 .NET 选项卡。检查选项卡下的文本内容,例如:“Filtered to: .NET Framework 4 Client Profile”。

3) 单击“浏览”选项卡。

4) 浏览到 MySql 文件夹并进入 Assemblies 文件夹,例如: C:\Program Files (x86)\MySQL\Connector NET 6.8.3\Assemblies

5) 选择与2)下文字匹配的版本文件夹,例如:“v4.0”

6) 添加MySql.Data.dll

【讨论】:

【参考方案5】:

在 Windows 7 64 位上

1) 下载https://www.cryptool.org/trac/CrypTool2/export/2020/trunk/AppReferences/x64/MySql.Data.dll

2) 将 MySql.Data.dll 的副本粘贴到文件夹 /bin 中

3) 创建数据库和表,例如

CREATE DATABASE my_db ;

USE my_db; 

CREATE TABLE `my_users` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) NOT NULL default '',
`country` varchar(100) NOT NULL default '',
PRIMARY KEY  (`id`));

INSERT INTO `my_users` VALUES (null,'Mark','Canada');

INSERT INTO `my_users` VALUES (null,'Frank','US');

4) 创建如下页面Default.aspx

<%@ Page Language="C#" Debug="true" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="MySql.Data.MySqlClient" %>
<script runat="server">

protected void Page_Load(Object sender, EventArgs e)

    MySqlConnection myConnection = new MySqlConnection(
    "server=localhost; user id=root; password=zZxX11++; database=my_db; pooling=false;");

    String strSQL = "SELECT * FROM my_users;";

    MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(strSQL, myConnection);

    DataSet myDataSet = new DataSet();
    myDataAdapter.Fill(myDataSet, "my_users");

    MySQLDataGrid.DataSource = myDataSet;
    MySQLDataGrid.DataBind();


</script>
<html>
<head>
    <title>MySQL Query</title>
</head>
<body>
    <form runat="server">
    <asp:DataGrid id="MySQLDataGrid" runat="server"></asp:DataGrid>
    </form>
</body>
</html> 

5) 下载http://www.codeguru.com/dbfiles/get_file/060216.zip?id=19637&lbl=060216_ZIP

6) 提取上述内容并将 GridView.aspx 放入您的项目文件夹中

7) 运行 Default.aspx

8) 输出应该是:

表格内容:

<table cellspacing="0" rules="all" border="1" id="MySQLDataGrid" style="border-collapse:collapse;">
    <tbody><tr>
        <td>id</td><td>name</td><td>country</td>
    </tr><tr>
        <td>1</td><td>Mark</td><td>Canada</td>
    </tr><tr>
        <td>2</td><td>Frank</td><td>US</td>
    </tr>
</tbody></table>

【讨论】:

【参考方案6】:

你应该下载MySQL.Data.dll。

因为MySql不在.Net框架库中,所以如果你在VS的项目中直接点击“添加引用”,是找不到的。

下载后,您可以点击添加引用将其放入您的项目中。

【讨论】:

【参考方案7】:

如果您使用 MySql,您需要添加到引用 MySql.Data.MySqlClient 并使用 Mysqlconnection,这对我有用。

【讨论】:

【参考方案8】:

如果您使用的是 Unity 开发 IDE

1) 右键单击​​参考,选择编辑参考。

2) 确保 System.Data(在所有选项卡中)和 MySQl.Data 已检查(在 .NET 程序包中)。

注意:如果 MySQl.Data 不存在,请从http://ul.to/g2o3a3h1 下载,然后使用 Assets->Import Package->Custom Package 将其上传到 Unity 环境。

3) 重新打开您的数据库处理程序文件并清理和重建您的代码。如果仍然存在引用错误,请执行步骤 1 和 2

【讨论】:

【参考方案9】:

您可能不需要下载 dll,您可能已经拥有它。 查看-&gt;对象浏览器-&gt;.NET-&gt;查找MySql.Data->添加- >好的 -> 添加到参考文献

【讨论】:

【参考方案10】:

要获取MySql.Data.MySqlClient 类或dll 文件,您必须先从第三方下载: https://www.cryptool.org/trac/CrypTool2/export/2020/trunk/AppReferences/x64/MySql.Data.dll

那么:: 1.点击添加参考 2.点击“浏览”按钮处的按钮 3. 转到下载文件的路径。 4.选择dll文件并选择 5.添加文件作为参考,它会工作

【讨论】:

【参考方案11】:

就我而言,问题出在 MySql.Data 版本上。我将它从 8.0.20 更改为 6.10.9(在管理 NuGet 包中)并开始工作。

【讨论】:

【参考方案12】:

即使您已经使用引用包含了 MySql 连接器,它仍然可能无法正常工作。原因是您可能在旧版本上运行,但安装的连接器与旧版本不兼容。所以去参考 - >管理Nuget包。 然后在该窗口中搜索 mysql.data。然后不断调整版本号,直到找到兼容的正确版本!!!!!!

【讨论】:

【参考方案13】:

如果是dotnet core 3.0

    使用 NuGET 包管理器添加 Mysql.Data 包

    在 appsettings.json 中写入连接字符串 例如:

    "AllowedHosts": "*", “连接字符串”: “默认”:“服务器=localhost;用户=root;密码='123';数据库=DbName”

    在Startup.cs文件->在ConfigureServices方法中添加

    services.AddTransient(_ => new MySqlConnection(Configuration["ConnectionStrings:Default"]));

它在我的应用程序中运行良好

【讨论】:

以上是关于使用 MySql.Data.MySqlClient;不管用的主要内容,如果未能解决你的问题,请参考以下文章

[A]MySql.Data.MySqlClient.MySqlConnection 无法转换为 [B]MySql.Data.MySqlClient.MySqlConnection

MySql.Data.MySqlClient.MySqlException:超时已过期

找不到 MySql.Data.MySqlClient.MySqlException 插入查询错误

MySql.Data.MySqlClient.MySqlException:重复条目

MySql.Data.dll 中出现“MySql.Data.MySqlClient.MySqlException”类型的异常,但未在用户代码中处理

具有不变名称“MySql.Data.MySqlClient”的 ADO.NET 提供程序未在机器或应用程序配置文件中注册