已被阅读 5556 次 | 文章分类:csharp | 2021-12-03 22:55
在visual studio中使用mysql数据库,因为visual studio中并没有集成对mysql的支持,所以需要安装配置一下;下面是总结的经验,对于初学者可以少走一些弯路
1 如果在visual studio中通过服务器管理窗口连接mysql服务
这个简单,安装Visual Studio连接MySQL工具即可:它是一款visual studio连mysql工具,可以直接集成到Server Explorer中
下载地址:mysql-for-visualstudio-1.2.9.msi
安装完成后,重启并打开visual studio;连接mysql步骤:如下
(1)点击视图-服务器资源管理器,打开如下界面
(2)右键数据连接-添加连接:打开如下窗口, 在没安装mysql-for-visualstudio-1.2.9.msi之前,是找不到mysql database选项的
(3)输入服务器地址,数据库用户名和密码,点击测试
(4)点击确定,连接成功;可以查看和编辑数据库数据
至此,vs中就可以连接管理mysql数据库了
2 如果要通过odbc方式代码连接mysql数据库
2.1安装mysql odbc驱动:用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器
2.2 安装mysql数据库.net开发驱动:要在工程中引入connector安装后目录中的mysql.data.dll;如果直接在nutget中下载mysql.data.dll,那么就不用下载.net开发驱动包
mysql-connector-odbc-8.0.20-winx64.msi mysql-connector-net-8.0.20.msi (非必需)
(1)右键工程引用,浏览到MySQL Connector Net 8.0.27目录,如下将mysql.data.dll添加
(2)引入命名空间
//导入命名空间
using MySql.Data.MySqlClient;
(3) odbc方式连接数据库;通过以上步骤,就可以使用odbc方式连接数据库了,至于数据库的操作,不是本文重点;可以自行测试
//定义mysql连接字符串
string constring = "data source=localhost;database=sys;user id=root;password=root;pooling=true;charset=utf8;";
//连接mysql
MySqlConnection msc = new MySqlConnection(constring);
//写入sql语句
string sql = "select * from sys_config";
//创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, msc);
//打开数据库连接
msc.Open();
//执行命令,ExcuteReader返回的是DataReader对象
MySqlDataReader reader = cmd.ExecuteReader();
3 如果要创建ado.net实体模型
经过测试后,发现问题原因很简单,主要是版本对应问题:
问题1:版本不对应(entityframe版本和mysql.data.entityframe版本不一致)
目前亲测后有两套版本:主要是根据数据库来选择安装的entityframe和mysql.data的版本
(1)如果连接5.x版本的mysql数据库
工具——》NuGet包管理器——》程序包管理器控制台
Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0
Install-Package MySql.Data -Version 6.10.8
Install-Package MySql.Data.Entity -Version 6.10.8
(2) 如果连接8.x版本的mysql数据库
Install-Package EntityFramework -Version 6.4.4
Install-Package MySql.Data.EntityFramework -Version 8.0.27
Install-Package MySql.Data -Version 8.0.27
安装完成后,webconfig中会自动添加如下一行:
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.27.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
问题2:闪退(mysql.data.entityframe的版本跟要连接的数据库版本不一致)
如果出现下面界面闪退,很简单,就是连接的数据库版本跟目前安装的mysql.data版本不一致;更换数据库版本或者mysql.data版本都可以解决问题
成功后如下:
QQ:3410192267 | 技术支持 微信:popstarqqsmall
Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号