【问题标题】:MySQL randomly closing connections, in old WinForms app .Net 1.1 and ODBCMySQL 在旧的 WinForms 应用程序 .Net 1.1 和 ODBC 中随机关闭连接
【发布时间】:2015-04-02 08:55:35
【问题描述】:

我必须支持一个非常古老的交通管理系统,该系统是在 Winforms、Microsoft Development Environment 2003 中开发的,带有 .Net framework 1.1,使用 MySQL 和 ODBC。应用程序在登录时打开 3 个连接,并假定这些连接保持打开状态,并将它们传递给各种表单和类库。

一切似乎都很好,但数据库连接随机关闭。调试这是一场噩梦,因为我必须使用虚拟机并且不知道如何使用旧版本的 Visual Studio,但即便如此,所有调试或日志文件告诉我的是连接已关闭。

我想知道我是否在浪费时间尝试调试这个烂摊子。我找错地方了吗?也许错误出在 MySQL 上,我应该去那里看看。我正在努力弄清楚如何解决这个问题。任何建议都会有所帮助。

这里是日志文件的相关部分,它告诉我什么我不知道:

System.InvalidOperationException: The connection is dead.
   at System.Data.Odbc.OdbcConnection.ConnectionIsAlive(Exception innerException)
   at System.Data.Odbc.OdbcConnection.get_State()
   at System.Data.Odbc.OdbcConnection.get_IsOpen()
   at System.Data.Odbc.OdbcConnection.GetDriverOdbcVersion()
   at System.Data.Odbc.OdbcConnection.get_OdbcMajorVersion()
   at System.Data.Odbc.OdbcConnection.get_IsV3Driver()
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method)
   at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
   at System.Data.Odbc.OdbcCommand.ExecuteReader()
   at DatabaseConnection.DBConnection.ExecuteQuery(String query, DBTransaction outterTransaction)
   at DatabaseConnection.DBConnection.ExecuteQuery(String query)
   at EnigmaForms.FormMain.CheckMySQLConnection() in c:\development\nutraffic\bts client\enigmaforms\forms\formmain.cs:line 1403

【问题讨论】:

    标签: c# mysql .net winforms


    【解决方案1】:

    事实证明,关闭其他应用程序(包括 BizTalk 和 SQL Server 代理)可以解决此问题。还有一个不相关的问题(用户将其视为相同的错误),即在运行此灾难软件的虚拟机的 NAT 设置中未打开自定义 TCP 端口,尽管这些端口已在防火墙上打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      • 1970-01-01
      • 2010-10-06
      • 2014-11-18
      • 2011-06-19
      • 2021-04-11
      相关资源
      最近更新 更多