2014-05-13 88 views
0

我正在開發與C#應用程序,我需要訪問MySql數據庫在我的大學服務器。他們給我提供了一個登錄名和密碼。有了它們,我可以通過PhpMyAdmin訪問MySql,但是當我嘗試與我的應用程序連接時,發生以下錯誤:MySql C# - 與MyPhpAdmin的訪問,但不與應用程序

「無法連接到任何指定的MySQL主機。

我認爲這可能是用戶的權限。但我不確定。那麼,可能是什麼?有了可能的解決方案,我可以讓他們糾正。 我的連接代碼:

server = "server"; 
      database = "database"; 
      uid = "id"; 
      password = "pass"; 
      connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" +  "PASSWORD=" + password + ";"; 
      conn = new MySqlConnection(connectionString); 
      conn.Open(); 

非常感謝!我很抱歉我的英語不好。 =(

+1

你確定大學允許遠程連接到服務器嗎?如果用戶沒有權限,MySQL通常會提供更好的錯誤,但如果端口被防火牆阻止,這種行爲是有道理的。 – psyklopz

+0

我會幫他們。所以,如果端口被阻塞,我可以訪問phpmyadmin,但不能與應用程序?我是MySql中的新成員,所以我正在尋找一個能夠向他們詢問更正的原因。 =)謝謝! – RafaelCampos

+1

是的,先生。我敢打賭,因爲這是一所學校,港口被封鎖。 – psyklopz

回答

1

Mysql服務器的默認端口是3306.您需要在web.config中添加連接字符串,並將它們全部用於您的Web應用程序中。

由於Meda寫在她的答案你需要使用本地主機或127.0.0.1它必須是你的服務器,你真正託管你的MySQL數據庫的IP地址。請記住,如果您提供訪問mysql數據庫的IP,則必須啓用遠程訪問(在您的大學服務器上)。

試過這些東西肯定會解決你的問題。

+0

端口被阻止。問題已修復。謝謝! – RafaelCampos

1

我使用MySQL和我的C#項目,我定義主機值:

  • 本地主機或127.0.0.1
  • 一個IP地址(xxx.xxx.xxx.xxx)
  • 主機URL(my.dbserver.com)

這裏是一個工作MySQL連接字符串:

<add name="connectionString" 
    connectionString="server=xx.xx.xx.xx;database=yyyyy; 
               User Id=zzzzzz;Password=**********;" 
providerName="MySql.Data.MySqlClient" /> 
+0

我試着用主機的url和IP地址,但仍然無法正常工作:/ – RafaelCampos

+0

像其他人在評論中所說,你需要確保你的IP調用這個代碼是授權的 – meda

+0

@RafaelCampos檢查這個線程http: //stackoverflow.com/questions/10900107/do-i-need-to-enable-remote-database-access – Adrian

相關問題