是否可以使用c#压缩Msaccess数据库,如果让我知道方式?如何使用c#压缩Msaccess数据库#
1
A
回答
4
你可以尝试这样的
public static void CompactAndRepair(string accessFile, Microsoft.Office.Interop.Access.Application app)
{
string tempFile = Path.Combine(Path.GetDirectoryName(accessFile),
Path.GetRandomFileName() + Path.GetExtension(accessFile));
app.CompactRepair(accessFile, tempFile, false);
app.Visible = false;
FileInfo temp = new FileInfo(tempFile);
temp.CopyTo(accessFile, true);
temp.Delete();
}
看到的东西也Use the CompactRepair method of the Application object to compact and repair the database
4
...
//invoke a CompactDatabase method of a JRO object
//pass Parameters array
objJRO.GetType().InvokeMember("CompactDatabase",
System.Reflection.BindingFlags.InvokeMethod,
null,
objJRO,
oParams);
...
看到更多细节在http://www.codeproject.com/KB/database/mdbcompact_latebind.aspx
1
我曾经在文章:
Compact and Repair an Access Database Programmatically Using C#
我修改了它一下,使其更易于使用:
public static bool CompactAndRepairAccessDB(string source, string destination)
{
try
{
JetEngine engine = (JetEngine)HttpContext.Current.Server.CreateObject("JRO.JetEngine");
engine.CompactDatabase(string.Format("Data Source={0};Provider=Microsoft.Jet.OLEDB.4.0;", source),
string.Format("Data Source={0};Provider=Microsoft.Jet.OLEDB.4.0;", destination));
File.Copy(destination, source, true);
File.Delete(destination);
return true;
}
catch
{
return false;
}
}
不要忘记:在Solution Explorer
右键单击参考 - >添加引用 - > COM - >搜索 '喷气机' - >添加“的Microsoft Jet和复制对象......”
,并添加:
using System.IO;
using JRO;
相关问题
- 1. 压缩数据库
- 2. MsAccess数据库
- 3. SQLite数据库中的压缩C#
- 4. C#数据库压缩连接错误
- 5. 如何创建MySQL压缩数据库?
- 6. 如何压缩sqlite数据库
- 7. 如何从JavaScript压缩WebSQL数据库
- 8. 如何使用c#压缩消息并使用javascript解压缩?
- 9. .NET使用压缩和非压缩数据压缩文件
- 10. 如何使用WebMatrix从本地数据库复制到压缩数据库?
- 11. 如何在打开数据库时压缩MS Access数据库,使用vba
- 12. ntfs压缩ravendb数据库
- 13. 压缩数据库错误
- 14. Realm.io压缩数据库
- 15. 如何使用OOP概念将值压缩到数据库?
- 16. 如何使用PHP在数据库中解压缩列
- 17. 使用HDFStore压缩数据
- 18. 如何使用MSACCESS数据库在Java中使用JBoss 5.0.0 GA
- 19. 如何压缩数据
- 20. 如何使用C#解压缩压缩文件?
- 21. 如何使用C#代码压缩和修复数据库访问2007?
- 22. 如何使用jszip库压缩文件
- 23. MSACCESS + C#连接到数据库
- 24. 压缩来自数据库的数据
- 25. 用于压缩POST数据的JavaScript库?
- 26. 如何在QT/C++ PHP中压缩的数据(gzcompres)解压
- 27. 使用C在SQLite数据库中解压缩单个数据块#
- 28. 用c#打开Delphi ZLib压缩数据#
- 29. 如何解压缩字节数组中的压缩数据?
- 30. MSAccess数据库更新不使用c更新#
我不知道是否增加Microsoft.Office.Interop.Access.Application参考,您的应用程序可能会办公室的特定版本绑定。下面的Code Project解决方案将使用动态绑定来避免这种情况。 – 2014-04-09 00:54:21