0

我敲了一個簡短的程序,主要是嘗試和學習一些基礎知識。我發現一個問題,用這部分代碼:凡VS C#sql無法連接到任何sql主機

{ 
    MySqlConnection connection = new MySqlConnection("server=serverT;User Id=user;password=password;database=healer"); 
    connection.Open(); 
    MySqlDataReader reader = new MySqlCommand("SELECT version FROM version", connection).ExecuteReader(); 
    reader.Read(); 
etc etc etc 
} 

現在,當我生成並運行此,它完全沒有問題,它連接上了,我沒有任何問題,閱讀。(該服務器在線託管BTW)

當我給出來的EXE/mysql.data.dll任何人跑,他們拋出的是無法連接到任何SQL主機除外。

我只是不知道爲什麼我可以連接,他們不能。我現在已經在其他3臺遠程機器上試過了,它們都無法連接,但我的工作正常。

有託管SQL數據庫沒有訪問規則,我允許從所有IP

任何人都可以擺脫任何光線的訪問?

+0

?他們得到什麼異常? – 2013-02-12 20:41:32

+0

對不起以上不清楚 MySql.Data.MySqlClient.MySqlException(0x800004005)無法連接到任何指定的MySQL主機。 我不斷點擊並提交此提交! – user2066175 2013-02-12 20:53:37

回答

1

您正在將連接字符串硬編碼到您的代碼中。你的客戶有不同的服務器,因此他們需要不同的連接字符串。

您需要創建一個表單或者連接參數從檢索到的配置文件。

請仔細閱讀本:

http://msdn.microsoft.com/en-us/library/ms254494.aspx

+0

如果他們正在訪問我的預先設置的sql服務器來查找細節,不會字符串是一樣的嗎?或者是它在本地機器上產生的莫名其妙,我已設置的變量傳遞給mysqlconnection認爲將是最簡單的方式url – user2066175 2013-02-12 21:50:39

+0

我剛剛重新檢查數據庫的權限,並沒有限制爲用戶即時連接,因爲從他們的位置,我已經從這個位置測試了數據庫並且可以連接。看起來我的應用程序不想。該字符串是硬編碼的,因爲我原來在加密的配置文件中,但移動到編碼純文本進行測試 – user2066175 2013-02-13 10:56:36