2011-09-16 149 views
3

我有一個Visual Studio 2008 C#.NET 3.5應用程序,我嘗試使用System.Data.Odbc連接到本地託管的MySQL 5.1.53數據庫。連接到C#中的MySql數據庫#

using (System.Data.Odbc.OdbcConnection c = new System.Data.Odbc.OdbcConnection("Driver ={MySQL ODBC 5.1 Driver}; Server =localhost; Database =mydatabase; User =root; Option =3; ")) 
{ 
    c.Open(); 
} 

不幸的是,我得到異常:

Data source: .NET Framework Data Provider for ODBC 
Use user or system data source name: mydatabase 
User name: root 

這將產生連接字符串:System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我可以使用VS2008服務器資源管理器中的設置成功地連接到這個數據庫Dsn=mydatabase;uid=root使用這個連接字符串在我的C#代碼也產生相同的異常。

我需要做什麼才能成功連接到這個數據源在C#中?

+7

爲什麼不使用MySqlConnection而不是Odbc? –

+2

您是否嘗試http://www.connectionstrings.com/進行指導? –

+2

其實它是IDBConnection接口 - 不是sql連接。 – tsells

回答

1

如果連接字符串正常,錯誤聽起來像MySql ODBC驅動程序沒有安裝在機器上。在Windows上,有一個可用於查看驅動程序是否正常的ODBC小程序。我相信這是根據控制面板,管理工具,數據源(ODBC)。

我會首先檢查是否使用Windows控制面板小程序安裝了MySql的ODBC驅動程序。

可能需要重新安裝/更新或全新安裝ODBC驅動程序。這裏有一個鏈接:

http://dev.mysql.com/doc/refman/5.0/en/connector-odbc.html

+0

是的,MySQL ODBC 5.1驅動程序已安裝。 Visual Studio能夠使用它連接到數據庫,所以我認爲它工作正常。重新安裝沒有任何區別。 – PaulH

+0

您可以從ODBC小程序連接或創建到數據源的連接嗎? –

+0

是的。當我點擊「測試」按鈕時,我會看到一個「連接成功」的消息框。 – PaulH