1. 程式人生 > >Microsoft OLE DB Provider for ODBC Drivers error '80004005' Can't connect to MySQL server的一種原因

Microsoft OLE DB Provider for ODBC Drivers error '80004005' Can't connect to MySQL server的一種原因

最近修理一個ASP+MySQL的程式。原來的程式設計師已經離職,所以修理這個程式的任務我接了。這次的錯誤是一個很普通的錯誤,我google了好長時間也沒有得到答案,最好慢慢分析才把這個錯誤搞定。

錯誤的症狀:

程式隨機出現一下的錯誤

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[MySQL][ODBC 5.3(a) Driver]Can't connect to MySQL server on 'IP地址' (10060)

由於錯誤的隨機出現的,所以很難查詢。google了好長時間,一直以為是ODBC的問題。結果,換了好幾個ODBC的版本,都有同樣的問題。

問題的發現:

使用命令列netstat,發現MySQL伺服器的埠很多都被打開了,這就是為什麼是隨機出現以上的錯誤資訊,因為連結埠難找啊。找到這個問題後,開啟asp程式碼,發現原來的程式設計師沒有關閉連線的習慣,這也就是為什麼這麼多埠被打開了。

問題的解決:

  1. 修改原來的程式,把要關閉連線的地方都關閉。
  2. 把ODBC的連結設定為使用連結池。
  3. 重新啟動MySQL所在的電腦。
  4. 重新啟動IIS。
  5. 到此,程式恢復正常。
我記錄下來,目的是讓google收錄一下。有可能幫助到遇到同樣問題的人。