使用 C# .accdb 文件的 Microsoft Access Compact 和 Repair
Microsoft Access Compact and Repair using C# .accdb files
我需要使用 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);
出现错误:
{"Invalid argument."}
这可能是最直接的方法:
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);
}
我需要使用 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);
出现错误:
{"Invalid argument."}
这可能是最直接的方法:
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);
}