您的位置:首页 > 其它

压缩Microsoft Access database from .NET

2010-10-31 13:06 337 查看
采用不离线的方式压缩access文件

Shared Sub Compact(ByVal fileName As String)
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fileName
Dim objJRO As Object = System.Activator.CreateInstance(System.Type.GetTypeFromProgID("JRO.JetEngine"))
Dim oParams As Object() = New Object() {connectionString, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & fileName & ".tmp ;Jet OLEDB:Engine Type=5"}
objJRO.GetType().InvokeMember("CompactDatabase", System.Reflection.BindingFlags.InvokeMethod, Nothing, objJRO, oParams)
System.IO.File.Delete(fileName)
System.IO.File.Move(fileName & ".tmp", fileName)
System.Runtime.InteropServices.Marshal.ReleaseComObject(objJRO)
objJRO = Nothing
End Sub

调用:

CompactDatabase.Compact("c:\temp\database.mdb")


出处:

Compact a Microsoft Access database from .NET

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐