2010-03-03 183 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