如何在vb中压缩数据库访问文件

时间:2014-08-13 08:48:24

标签: vb.net ms-access compact-database

现在我已经在我的文件夹中有数据库,但文件大小最大。然后我想压缩这个文件,但是我得到一些关于"无效参数的错误。",在这种情况下我该怎么办? 。谢谢你

这是我的代码

Dim JRO As New JRO.JetEngine
    Dim source = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & System.AppDomain.CurrentDomain.BaseDirectory & "Code7.accdb"
    Dim compact = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & System.AppDomain.CurrentDomain.BaseDirectory & "newCode7.accdb;Jet OLEDB:Engine Type=5"
    JRO.CompactDatabase(source, compact)
    'delete orinal file
    System.IO.File.Delete(System.AppDomain.CurrentDomain.BaseDirectory & "Code7.accdb")
    'rename compact file to original file name
    File.Move(System.AppDomain.CurrentDomain.BaseDirectory & "newCode7.accdb", System.AppDomain.CurrentDomain.BaseDirectory & "Code7.accdb")
    MessageBox.Show("The database was compacted successfully")

1 个答案:

答案 0 :(得分:1)

这有两个问题。第一个也是最重要的是你需要告诉JRO你想压缩什么样的数据库。你可以通过追加......

来做到这一点
    ;Jet OLEDB:Engine Type=5

到每个连接字符串。这将消除你的"无效的论据"错误。

其次,您的源和目标数据库是相同。如果这样做,您将收到另一个错误, - "数据库存在"。您必须压缩到一个单独且不同的文件。