昨天在部署我的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、要保證程序編碼與浏覽器編碼一致,即程序編碼與一致。
我改了連接串,設置了 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"