C#连接mysql出现【给定关键字不在字典中】问题解决
之前,在Ubuntu服务器上安装的mysql-server,本地写了一个客户端(C#),当时开发完成后没什么问题。最近服务器面临更换,需要把数据备份和恢复到新服务器。等数据都恢复完了,发现之前的客户端程序连接mysql有问题,总是产生异常:给定关键字不在字典中。网上搜了很多帖子,大多都是说编码格式问题,查看mysql都是utf8mb4,连接时指定的编码为 utf8。按照网上说的:1)修改数据库的编
·
之前,在Ubuntu服务器上安装的mysql-server,本地写了一个客户端(C#),当时开发完成后没什么问题。
最近服务器面临更换,需要把数据备份和恢复到新服务器。
等数据都恢复完了,发现之前的客户端程序连接mysql有问题,总是产生异常:给定关键字不在字典中。网上搜了很多帖子,大多都是说编码格式问题,查看mysql都是utf8mb4,连接时指定的编码为 utf8。按照网上说的:1)修改数据库的编码格式,有好多地方都要修改,修改可能引起其他问题;2)修改程序里连接字符串编码,试了不行。
后来发现,客户端连接原来的服务器还是可以的。搜了很久,无意发现两边安装的mysql版本不一样,旧服务器是8.0.26,新服务器是8.0.29。这个跟C#工程里Mysql.data.dll当前版本和可升级版本一样。于是升级了dll就好了。
感觉不是编码格式不一致的问题,就是版本之间不兼容。新的dll版本解决了之前的问题(升级dll后的客户端程序还是可以正常连接旧服务器mysql)
更多推荐
已为社区贡献1条内容
所有评论(0)