2010-03-03 189 views
10

我最近製作了another question關於使用.NET在C#或VB.NET中連接到MS-ACCESS數據庫。它只是擔任意在與MDB,但ACCDB就引起通過OLEDB連接到ACCDB格式的MS-ACCESS數據庫

conn.Open(); 

跟隨一個例外:

alt text http://dl.dropbox.com/u/3045472/accdb_fail.png

是否有另一種方式做到這一點?我的初衷是(如在original question中所述)正在收集一些(實際上很多)字段。

+0

在應答中的關鍵點是,MDB是噴氣4格式(或更早版本的格式,例如,李連杰3。 x,並且在Jet 4提供程序中可以向後讀取),ACCDB是ACE的格式(實際上是Jet 4.5或Jet 5),所以您需要使用ACE提供程序(也可以讀取/寫Jet 4/3.x和可能的Jet 2.x)。 – 2010-03-04 19:52:27

+0

它實際上沒有任何aditional安裝工作,但我保持鏈接,以防需要在客戶端..並且謝謝! – Marcelo 2010-03-04 20:03:50

回答

11

使用ACE 4驅動程序,下載here然後用下面的連接字符串:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\marcelo.accdb;Jet OLEDB:Database Password=MyDbPassword;"

+0

我想是的。或使用瘦客戶機創建客戶機 - 服務器應用程序 – Andrey 2010-03-03 18:04:39

+0

使用reader.GetValue(3).ToString()你知道爲什麼它不與getstring一起使用,即使它是一個名稱嗎? – Marcelo 2010-03-03 18:56:27

+0

使用它:reader.GetValue(3).ToString()如果它工作 – Andrey 2010-03-03 19:06:37