昨天在部署我的MAS接口程序时,出现如上标题出现的错误。
客户端IP:192.168.1.100,MAS机接口程序部署在客户端。
服务器IP:192.168.1.101,MySql4.0的数据库.
程序连接MySql方式:采用ODBC方式, driver:mysql odbc driver5.1(这是我连接失败前采用的驱动)
连接串如下(C#):
connectionString="Driver={MySQL ODBC 5.1 Driver};Server=192.168.1.101;Port=3306;Option=131072;Stmt=;Database=mas; User=root;Password=123456" .用该连接串去连接数据时,返回异常:unknow system varibles "character_set_results".....。我猜是不是有关字符集的问题。我查了MYSQL有关字符集文档,简单说一下,。
1、character_set_database:保证数据库中存的数据与数据库编码一致;
2、要保证通讯的字符集与数据库的字符集一致,即character_set_client, character_set_connection与character_set_database一致;
3、要保证SELECT的返回与程序的编码一致,即character_set_results与程序编码一致;
4、要保证程序编码与浏览器编码一致,即程序编码与<meta http-equiv="Content-Type" content="text/html; charset=?"/>一致。
我改了连接串,设置了 character_set_results=uft8方式也不管用。真是个烦人的问题。
好在我冷静分析, 是不是因为driver版本问题。我的mysql driver版本为5.1的,而mysql为:4.0版本的。
重新去官方网站下载驱动,更改driver3.51版本的驱动,再去连接,果然成功!
connectionString="Driver={MySQL ODBC 3.51 Driver};Server=192.168.1.101;Port=3306;Option=131072;Stmt=;Database=mas; User=root;Password=123456"
掩不住内心的喜悦,特此记念下! 希望能帮到遇到同样问题的朋友!