【问题标题】:Microsoft Access Compact and Repair using C# .accdb files使用 C# .accdb 文件的 Microsoft Access 压缩和修复
【发布时间】:2015-03-23 00:32:14
【问题描述】:

我需要使用 C# 压缩和修复 .accdb(最后一个 MS Access)版本

我试过用这个:

var jroEngine = new JRO.JetEngineClass();

var old_ = Provider=Microsoft.ACE.OLEDB.12.0;Data Source='c:\a.accdb';
var new_ = Provider=Microsoft.ACE.OLEDB.12.0;Data Source='c:\b.accdb';

jroEngine.CompactDatabase(old_, new_);
Marshal.ReleaseComObject(jroEngine);

有一个错误:

{“无效参数。”}

【问题讨论】:

标签: c# ms-access-2010 jet


【解决方案1】:

这可能是最直接的方法:

string sourceDbSpec = @"C:\Users\Public\a.accdb";
string destinationDbSpec = @"C:\Users\Public\b.accdb";

// Required COM reference for project:
// Microsoft Office 14.0 Access Database Engine Object Library
var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
try
{
    dbe.CompactDatabase(sourceDbSpec, destinationDbSpec);
}
catch (Exception e)
{
    Console.WriteLine("Error: " + e.Message);
}

【讨论】:

  • 您的代码与我的版本相同。但是我无法让它正常工作,我认为它应该适用于旧版本的 MS Access。
  • 是的,我还没有解决这个案子的办法。
猜你喜欢
  • 2018-05-01
  • 1970-01-01
  • 2010-12-15
  • 2021-12-21
  • 2011-05-09
  • 2018-10-08
  • 2020-04-26
  • 1970-01-01
  • 2014-10-10
相关资源
最近更新 更多