vs2019如何使用mysql数据库 亲测可用

已被阅读 4575 次 | 文章分类: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)点击视图-服务器资源管理器,打开如下界面

/net/upload/image/20211203/1c8ff8e9e0fd1992ecc12d95d08c9bf.png

(2)右键数据连接-添加连接:打开如下窗口, 在没安装mysql-for-visualstudio-1.2.9.msi之前,是找不到mysql database选项的

/net/upload/image/20211203/6bcdde70d227621e1a453996bb86002.png

(3)输入服务器地址,数据库用户名和密码,点击测试

/net/upload/image/20211203/17bae8221f1a20ce9024c6833f26d93.png

/net/upload/image/20211203/0a7125664db312bc77f15f58497e3fa.png

(4)点击确定,连接成功;可以查看和编辑数据库数据

/net/upload/image/20211203/6d557bb7175c2c144c56758b0b86dd5.png

至此,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添加

/net/upload/image/20211203/微信图片_20211203224736.png

(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版本不一致)

/net/upload/image/20211203/微信图片_20211203224942.png

目前亲测后有两套版本:主要是根据数据库来选择安装的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版本都可以解决问题

/net/upload/image/20211203/微信图片_20211203224926.png

成功后如下:

/net/upload/image/20211203/a4a4b51ba26085521a06c3513153181.png

QQ:3410192267 | 技术支持 微信:popstarqqsmall

Copyright ©2017 xiaobaigis.com . 版权所有 鲁ICP备17027716号