.net連接MySql:Unable to connect to any of the specified MySQL hosts

此問題擾民大發了。

最終斃之:

2011-11-2 16:24:56:MySql.Data.MySqlClient.MySqlException: Unable to connect to any of the specified MySQL hosts. ---> System.Net.Sockets.SocketException: 通常每個套接字地址(協議/網絡地址/端口)只允許使用一次。 127.0.0.1:3307
   在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   在 MySql.Data.Common.StreamCreator.CreateSocketStream(IPAddress ip, Boolean unix)
   在 MySql.Data.Common.StreamCreator.GetStream(UInt32 timeout)
   在 MySql.Data.MySqlClient.NativeDriver.Open()
   --- 內部異常堆棧跟蹤的結尾 ---
   在 MySql.Data.MySqlClient.NativeDriver.Open()
   在 MySql.Data.MySqlClient.Driver.Open()
   在 MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   在 MySql.Data.MySqlClient.MySqlConnection.Open()
   在 PubFun.ConData.ExcSQL(String sql, Int32 timeOut)
在網上搜索了很多原因:

1. mysql.data.dll 服務器端和客戶端版本不對應。 別人說的我沒有明白,mysql.data.dll版本好像只有應用程序這一端纔會用吧。其他地方不用啊。

    mysql安裝在服務器端後,有這個東東嗎?不知道。再議。

    也有人說,換個mysql.data.dll的版本就好了,但是我用.net framework3.5,試了幾個版本後,發現編譯不過去。所以,再議。


2.  mysql 鏈接字符串

    最初鏈接:

   

 ConstPar.mysqlconstr = "server=" + ConXML.GetNodeValue("//DataBase", "ip") + ";user id=" + ConXML.GetNodeValue("//DataBase", "user") + ";password=" + ConXML.GetNodeValue("//DataBase", "psd") + ";pooling=false;Port=" + ConXML.GetNodeValue("//DataBase", "port");

  修改爲:

 ConstPar.mysqlconstr = "server=" + ConXML.GetNodeValue("//DataBase", "ip") + ";user id=" + ConXML.GetNodeValue("//DataBase", "user") + ";password=" + ConXML.GetNodeValue("//DataBase", "psd") + ";pooling=false;Port=" + ConXML.GetNodeValue("//DataBase", "port")+";CharSet=utf8;Allow Zero Datetime=true";


  具體行不行不知道,反正在我這裏沒有行通。


3. mysql鏈接字符串。

   最終修改爲:

 ConstPar.mysqlconstr = "server=" + ConXML.GetNodeValue("//DataBase", "ip") + ";user id=" + ConXML.GetNodeValue("//DataBase", "user") + ";password=" + ConXML.GetNodeValue("//DataBase", "psd") + ";pooling=true;Port=" + ConXML.GetNodeValue("//DataBase", "port")+";CharSet=utf8;Allow Zero Datetime=true";

 有朋友該說了,這不和2中修改後的一樣嗎?

 請注意:pooling=true;

 最後,修改這個後,再也沒有出現上面的問題了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章