设置:
Windows 7 SP1 64位Visual Studio 2012 MySQL .Net连接器6.6.4
我有一个vb .net WinForm应用程序,使用MySQL .Net连接器连接到MySQL服务器。它工作得很完美。然后我对pc进行了格式化,重新安装了和以前一样的windows版本,但我安装了一个稍新版本的MySQL .Net连接器,以及Visual Studio2012而不是2010。
当我打开连接的代码执行时,即:
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...
发布于 2013-02-05 06:15:59
我找到了一个解决方案。安装MySQL连接器6.1.6就可以解决这个问题。
发布于 2013-01-12 01:38:27
我相信MySQL放弃了对他们在6.6之前使用的旧密码加密方式的支持。我遇到了同样的问题,我不得不关闭我的DB服务器上的old_password支持,然后重新创建用户,以便使用新密码函数来散列密码。
查看这个bug线程:http://bugs.mysql.com/bug.php?id=67953
有关更多信息,请查看此链接:http://dev.mysql.com/doc/refman/5.0/en/old-client.html
作为这方面的新手,对我来说,删除有问题的用户、使用MySQL工作台更改DB选项以关闭old_password加密和身份验证、重新启动DB服务器,然后重新创建用户,对我来说更容易。这为我解决了这个问题。希望这对你有帮助--祝你好运。
https://stackoverflow.com/questions/13859411
复制相似问题