2015-04-02 65 views
0

我不得不支持一個非常古老的流量管理系統,它使用MySQL和ODBC在.NET Framework 1.1的Winforms,Microsoft Development Environment 2003中開發。應用程序在登錄時打開3個連接,並假定這些連接保持打開狀態,並將它們傳遞給各種表單和類庫。MySQL隨機關閉連接,在舊的WinForms應用程序中.Net 1.1和ODBC

一切看起來不錯,但數據庫連接隨機關閉。調試這是一場噩夢,因爲我必須使用虛擬機,並且不知道如何繞過舊版本的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 

回答

0

原來,關閉其他應用程序,包括的BizTalk和SQL Server代理,解決了這一問題。在運行此災難軟件的虛擬機的NAT設置中沒有打開的自定義TCP端口也存在一個無關的問題(即用戶被視爲相同的錯誤),儘管端口在防火牆上打開。