0

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

这是我的代码

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")
4

1 回答 1

1

这有两件事不对劲。首先也是最重要的是,您需要告诉 JRO 您要压缩哪种数据库。您可以通过附加...

    ;Jet OLEDB:Engine Type=5

到每个连接字符串。这将消除您的“无效参数”错误。

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

于 2014-08-13T13:35:57.943 回答