【问题标题】:Connecting to ACCDB format MS-ACCESS database through OLEDB通过OLEDB连接ACCDB格式MS-ACCESS数据库
【发布时间】:2011-01-23 07:41:58
【问题描述】:

我最近写了another question,关于在 C# 或 VB.NET 中使用 .NET 连接到 MS-ACCESS 数据库。它与 MDB 的工作方式一样,但在 accdb 中却导致了异常

conn.Open();

接下来是:

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

还有其他方法可以做到这一点吗?我的初衷(如original question 中所述)是收集一些(实际上是很多)字段。

【问题讨论】:

  • 答案中的关键点是MDB是Jet 4格式(或更早的格式,例如Jet 3.x,在Jet 4提供程序中是向后可读的),而ACCDB是格式对于 ACE(实际上是 Jet 4.5 或者可能是 Jet 5),所以您需要使用 ACE 提供程序(它也能够读/写 Jet 4/3.x 和可能 Jet 2.x)。
  • 它实际上在没有任何附加安装的情况下工作,但我保留链接以防客户端需要它。谢谢!

标签: c# .net vb.net ms-access oledb


【解决方案1】:

使用ACE 4驱动,下载here然后使用以下连接字符串:

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

【讨论】:

  • 我认为是的。或使用瘦客户端创建客户端-服务器应用程序
  • 使用 reader.GetValue(3).ToString() 你知道为什么它没有使用 getstring,即使它是一个名字?
  • @Andrey 我在这里问一个相关的问题:stackoverflow.com/questions/14475968/…,请您检查一下
猜你喜欢
  • 1970-01-01
  • 2020-04-29
  • 2011-09-17
  • 2013-04-20
  • 2011-01-10
  • 2015-06-12
  • 1970-01-01
  • 2015-01-16
  • 1970-01-01
相关资源
最近更新 更多