2012-12-13 47 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

相关问题