背景描述
根据项目的需要,需连接MySQL获取数据。
首先,先了解一下项目的情况:
- 之前的代码是C#编写的的,
- 运行时:.NETFramework3.5。
由于项目已经部署上线,因此不能升级运行时,这也为之后的踩坑之路打下了伏笔。。。
解决问题
既然是要访问MySQL数据库,按照国际惯例自然是到官网找对应语言的driver,然后安装->开发->测试。。。
坑1
但是当我找到了对应的驱动后,发现能找到的最老的版本 (6.9) 的MySQL对应.NET的驱动版本最低支持 framework4.0, 不是说给 3.5 留一条活路的么 !!?
坑2
用C#连接MySQL数据库报异常:“给定关键字不在字典中”。
解决
- 下载并且安装MySQL connector/Net包(https://www.zhaokeli.com/uploads/file/other/20170819/1503138518107381.zip),在文件中找到适合自己Framework版本的MySQL.Data.Dll,引用到自己的项目中.
- 使用charset=utf8mb4的字符集和MySQL连接。
参考
https://dev.mysql.com/doc/connector-net/en/connector-net-versions.html