2012-12-13 58 views
1

設置:「算術運算導致溢出」 在MySQLConnection.Open錯誤()

的Windows 7 SP1 64位 的Visual Studio 2012 MySQL的淨連接器6.6.4

我有一個VB。 net WinForm應用程序,它使用MySQL .Net連接器連接到MySQL服務器。它工作完美。然後我格式化電腦,重新安裝了Windows和以前的版本相同,但我安裝了MySQL的.Net連接器的稍微新一點的版本,以及視覺的2012,而不是2010年

Studio時,我打開的代碼連接執行的,即:

Dim mySQLcon As New MySql.Data.MySqlClient.MySqlConnection("SERVER=www.tadirect.co.za;DATABASE=tadirq_db1;UID=********;PASSWORD=********;") 
mySQLcon.Open() 

在出現以下異常mySQLcon.Open()行:

System.OverflowException: Arithmetic operation resulted in an overflow at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.HandleAuthChange(MySqlPacket packet) 
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset) 
at MySql.Data.MySqlClient.NativeDriver.Authenticate(String authMethod, Boolean reset) 
at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() 
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) 
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() 
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() 
at MySql.Data.MySqlClient.MySqlConnection.Open() 
at TAD_Automator.modWebsite.UpdateMySQLDatabase_Cases(Boolean bSilent)} 

我試圖從任何CPU爲32位改變的構建以及64位但它沒有區別...

有沒有想法?它曾經工作,我重新安裝Windows/VS/MySQL之前...

+0

嘗試寫出你的問題簡單而精確..長時間會惹惱人們 – Chella

回答

1

我找到了解決方案。安裝MySQL連接器6.1.6,你將解決這個問題。

0

我相信MySQL放棄了他們在6.6之前使用的舊式密碼加密的支持。我有同樣的問題,我不得不關閉我的數據庫服務器上的old_password支持,然後重新創建用戶,以便使用新的密碼函數來散列密碼。

退房這個bug螺紋:http://bugs.mysql.com/bug.php?id=67953

退房此鏈接瞭解更多信息:http://dev.mysql.com/doc/refman/5.0/en/old-client.html

處於這樣的新手,這是我更容易刪除有問題的用戶,更改數據庫選項使用MySQL Workbench關閉old_password加密和認證,重新啓動數據庫服務器,然後重新創建用戶。這解決了我的問題。希望這可以幫助你 - 祝你好運。

+0

你不需要刪除用戶。只需重新設置客戶端的密碼,仍然可以使用舊密碼登錄(當然,關閉該選項後)。 – Patrick

相關問題