【问题标题】:Always failed to connect mySQL database in ASP.Net在 ASP.Net 中连接 mySQL 数据库总是失败
【发布时间】:2013-01-27 20:11:37
【问题描述】:

环境:Windows 2008 R2 & ASP.Net 4.0

来自here 的连接器/网络 6.6.4

注意:我选择了“.Net/Mono”平台并下载了独立于架构的版本。 Enable-32-bit-application-in-IIS 不适合我。

我尝试通过以下连接字符串连接 mySQL 数据库。

Server=192.168.1.200;Port=3306;Database=gm_log;Uid=cf2;Pwd=123456;Charset=utf8;AllowUserVariables=True;Allow Zero Datetime=false;PersistSecurityInfo=false;Pooling=true;ConnectionLifeTime=0;Max Pool Size=100;Min Pool Size=1;

MySqlConnection.Open 抛出一个 OverflowException。 算术运算导致溢出

这是堆栈跟踪。

at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.HandleAuthChange(MySqlPacket packet)
at MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(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.CreateNewPooledConnection()
at MySql.Data.MySqlClient.MySqlPool..ctor(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPoolManager.GetPool(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlConnection.Open()

还有人遇到同样的问题吗?

【问题讨论】:

  • 当您管理与 mysql 数据库的连接时,您是否授予(在 mysql 中)所有权限给自己?
  • 是的,我可以在“MySQL Workbench”中使用相同的用户名/密码进行连接
  • 这里有同样的问题.. 反射方法 HandleAuthChanged 没有任何线索。

标签: mysql ado.net mysql-connector


【解决方案1】:

从这里降级到以前的版本:

http://dev.mysql.com/downloads/connector/net/6.5.html#downloads

它现在对我有用。

【讨论】:

  • 是的! .Net 连接器对 mySql 版本很敏感。我将mySql server 升级到最新版本后,这个问题就消失了。
【解决方案2】:

我也遇到了同样的问题。但是我使用 Nuget 来安装 MySql.Data 包。 如果您使用的是 Nuget,您可以在库包管理器控制台中使用以下命令降级版本。

Install-Package MySql.Data -Version x.x.x.x

其中 x.x.x.x 是旧版本。就我而言,我尽可能返回并使用 5.1.7.0。您可以检查 nuget 站点以查看可用的版本,也可以使用以下命令再次使用控制台。

PM> Get-Package -ListAvailable -AllVersions -Filter MySql.Data

Id                             Version              Description/Release Notes                                                                                                                      
--                             -------              -------------------------                                                                                                                      
Ming.MySql.Data                6.5.4.0              ADO.Net driver for MySQL                                                                                                                       
MySql.Data                     5.1.7.0              Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySql.Data                     6.2.5                Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySql.Data                     6.3.7                Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySql.Data                     6.4.4                Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySql.Data                     6.5.4                Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySql.Data                     6.6.4                Connector/Net is a fully-managed ADO.NET driver for MySQL.                                                                                     
MySQL.Data.Entities            6.4.4.0              Connector/Net is a fully-managed ADO.NET driver for MySQL.  Entity Framework support package (Mysql.Data.Entities).                            
MySQL.Data.Entities            6.5.4.0              Connector/Net is a fully-managed ADO.NET driver for MySQL.  Entity Framework support package (Mysql.Data.Entities).       

编辑:经过更多的实验,我确定我只需要回到 6.4.4 而不是 5.1.7.0。回溯到那么远还有其他问题。

【讨论】:

    猜你喜欢
    • 2011-12-05
    • 2010-09-28
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    相关资源
    最近更新 更多