【问题标题】:Compact and Repair Database programmatically以编程方式压缩和修复数据库
【发布时间】:2010-10-21 23:44:34
【问题描述】:

如何从 C++ 中调用 Access 的压缩和修复数据库实用程序?我已经在使用 ADO 和 ADOX,因此使用其中任何一个的解决方案都会很方便。

【问题讨论】:

  • 只是为了澄清,压缩和修复不是独立的操作。自 Jet 3.5 SR2 (c. 1998) 以来,没有单独的修复命令,只有一个紧凑的。 Compact 检查运行它的任何 MDB 的完整性,如果需要修复它会这样做。 MS 删除了单独的修复命令,因为在未损坏的 MDB 上运行它有时会损坏它们。
  • 另一个 MDB 损坏的例子 :)

标签: c++ ms-access compact-database


【解决方案1】:

类似于:

How can I programmatically repair (not merely compact) an Access .mdb file?

您可以使用COM 访问JRO.JetEngine 对象来执行此操作。 CodeProject 有一个 C# 示例,转换为 C++ 应该不会太难。

更新:感谢@le dorfier,这是一个带有 C++ 示例的article

【讨论】:

  • 是的,我在那里看到了那个 - 但是,我问的是一个 C++ 解决方案,这个问题和任何答案似乎都没有解决。
  • 在谷歌搜索“c++ JRO.JetEngine”时发现 C++ support.microsoft.com/kb/230501 也是如此
  • @le dorfier:很好的发现!那个骗了我! :)
  • 关于如何通过代码压缩和修复 Access 2007 .accdb 数据库文件的任何想法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多