2012-02-21 40 views
6

我在C#編寫的程序使用OdbcConnection拉一些數據:ODBC的ConnectionString

using System.Data.Odbc; 
...... 

OdbcConnection OdbcConn = 
       new OdbcConnection(Properties.Settings.Default.ConnectionString); 
OdbcCommand cmd = new OdbcCommand(); 

//open connection 
if (OdbcConn.State != ConnectionState.Open) 
{ 
    OdbcConn.Open(); 
} 

在我的設置文件,我有這樣的ConnectionString:

Dsn=****;uid=userID;pwd=password

但是我不能建立連接。我有一個來自IBM corp安裝的iseries訪問驅動程序,但如果我嘗試MS訪問,那麼我可以連接。有什麼建議麼?

回答

9

有疑問時(它涉及的連接字符串):http://www.connectionstrings.com/

+0

只需點擊你正在使用頂部附近看到你錯過了什麼的一個很好的例子數據庫的類型(我注意到你沒有告訴它在哪裏連接,即名稱或IP) – 2012-02-21 20:06:29

+0

做任何人都知道如何使用驅動程序建立連接DSN免費 – saiful 2012-02-21 22:29:20

+0

如果我要在遠程服務器中使用Access設置ODBC,該怎麼辦? – 2013-03-30 13:19:51

0

我總是喜歡驗證使用的數據源(ODBC)在控制面板(假設你是在窗口環境)連接。確保您在ODBC選擇中看到驅動器可用,並按照步驟測試連接。

同時也作爲連接上述絃樂器的網站會給你的想法是什麼性質和格式上特定的驅動程序連接

3

在Windows 64位機,請務必檢查,如果你的C#代碼中的x86編譯(32位),x64或「任何CPU」。請注意,如果您編譯爲「Any CPU」,則默認情況下會選擇x64位驅動程序。

32位驅動程序可以在找到C:\ windows \ SysWOW64 \ odbcad32.exe。 32位驅動程序可以在找到C:\ windows \ system32 \ odbcad32.exe

首先,確保您使用前面提供的路徑驗證您的連接是否可以與ODBC數據源管理器一起工作。即做一個DSN並且測試它作爲Turbot建議。一旦您驗證了此連接的工作原理,您的連接字符串可以使用您剛剛創建的DSN,也可以使用免費的DSN連接字符串。

對於快速參考,這裏是使用ODBC驅動DSN自由連接字符串的一個示例:

驅動= {進展OpenEdge 11.3驅動}; HOST = wfdscr11.wf.local;端口= 1234 ; DB = MyDatabaseName; UID =約翰; PWD = Doe的

在本例中,我不得不從我的C#代碼連接到Progress數據庫,這是我,而不必指定一個DSN使用的連接字符串。您可以在下面看到驅動程序的名稱是「Progress OpenEdge 11.3驅動程序」。

enter image description here