我在尝试时遇到3001: Invalid argument
错误:
DbEngine.CompactDatabase "db1.accdb", "db2.accdb", , dbEncrypt
我相信该功能正在使用ACEDAO.DLL
版本14.0.6016.1000
可能是错误的原因是什么?它似乎只发生在dbEncrypt
。
答案 0 :(得分:1)
正如Remou的回答中提到的文章所示,dbEncrypt
需要密码:
CompactDatabase firstdb, seconddb, ";pwd=secret", dbEncrypt
似乎无法在同一个调用中进行升级,因此我需要两行来将较旧的MDB
升级为加密的ACCDB
。请注意每行中密码的位置:
CompactDatabase oldMDB, encryptedDb, ";pwd=secret", dbEncrypt
CompactDatabase encryptedDb, upgradedDb, , dbVersion120, ";pwd=secret"
以下操作不起作用并给出了Invalid argument
错误:
CompactDatabase oldMDB, encryptedAccdb, ";pwd=secret", dbEncrypt + dbVersion120
答案 1 :(得分:0)
似乎可能是密码:http://social.msdn.microsoft.com/Forums/et-EE/accessdev/thread/317b025c-07ff-4c84-883f-5f602e88af9d
DbEngine.CompactDatabase "db1.accdb", "db2.accdb", ";pwd=apass"
打开db2.accdb时,可以选择Decrypt数据库。