2014-09-03 246 views
3

我有此錯誤:MySQL連接字符串C#

「ObdcException是由用戶代碼未處理的」

enter image description here

我不知道爲什麼會這樣......

這是連接字符串:

<add name="MiniBoxConnection" connectionString="DRIVER={MySQL ODBC 5.1 Driver};Database=DATABASENAME;Server=SERVERNAME;UID=USER;PWD=PASS;"/> 

我該如何解決這個問題?

我在本地主機發展,但數據庫聯機

數據源的名稱沒有被發現,並沒有指定默認驅動程序

+0

這樣的東西在try/catch塊,catche的例外,看看它說。 – 2014-09-03 18:36:16

+1

你介意把錯誤信息的其餘部分翻譯成英文嗎? – 2014-09-03 18:36:21

+1

顯示您的實際代碼,以便我們可以看到不粘貼圖片,請 – MethodMan 2014-09-03 18:39:20

回答

8

你試圖連接到你的MySQL有數據庫從.net代碼使用ODBC。您的錯誤消息告訴您,您尚未創建適當名稱的ODBC數據源對象(DSN)。如果需要,可以使用ODBC數據源管理員控制面板完成此操作。

如果我是你,我會用連接器/ NET,而不是ODBC。它表現更好,而且正確配置並不是那麼痛苦。

你可以在這裏下載安裝包吧。 http://dev.mysql.com/downloads/connector/net/

你需要改變你的代碼這一點。但是,這是值得的!認真!你的代碼最終會看起來像這樣。

using System; 
//etc etc 
using MySql.Data.MySqlClient; 
//etc etc 

namespace myapp 
{ 
    class Myclass 
    { 
     static void Mymethod(string[] args) 
     { 
      string connStr = "server=server;user=user;database=db;password=*****;"; 
      MySqlConnection conn = new MySqlConnection(connStr); 
      conn.Open(); 

      string sql = "SELECT this FROM that"; 
      MySqlCommand cmd = new MySqlCommand(sql, conn); 
      using (MySqlDataReader rdr = cmd.ExecuteReader()) { 
       while (rdr.Read()) { 
        /* iterate once per row */ 
       } 
      } 
     } 
    } 
} 
1

試試這個連接和測試連接:

MySqlConnectionStringBuilder conn_string = new MySqlConnectionStringBuilder(); 
conn_string.Server = "127.0.0.1"; 
conn_string.UserID = "sa"; 
conn_string.Password = "myPassword"; 
conn_string.Database = "myDatabase"; 


MySqlConnection MyCon = new MySqlConnection(conn_string.ToString()); 


try 
{ 
    MyCon.Open(); 
    MessageBox.Show("Open"); 
    MyCon.Close(); 
    MessageBox.Show("Close"); 
} 
catch(Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
}