使用 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.dllhttps://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,您可能已经拥有它。
查看->
对象浏览器->
.NET->
查找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 提供程序未在机器或应用程序配置文件中注册