【问题标题】:Access Creates new file every time I Compact & RepairAccess 每次我压缩和修复时都会创建新文件
【发布时间】:2010-12-15 15:49:21
【问题描述】:

它并不总是这样做,但是自从我拆分数据库并将前端制作为 ACCDE 文件后,每当我尝试压缩和修复任一文件时,都会生成一个名为“Database 1”的新文件,并且我的原始文件大小没有改变。

这正常吗?

我的 ACCDB 大约 20MB,第一次使用后我的 ACCDE 刚刚超过 1M。打开之前,ACCDE只有600k(我有很多表单和查询,并且定期存储PDF附件。

【问题讨论】:

    标签: database ms-access ms-access-2007 repair compact-database


    【解决方案1】:

    在某些情况下可能是这样,我遇到了同样的问题。就我而言,这与它所在的网络驱动器有关。

    我的解决方法是将其放入我的 C:\ 并在那里进行操作,然后在压缩和修复完成后将其移回网络驱动器。

    【讨论】:

    【解决方案2】:

    这取决于你如何做到这一点。

    使用 Jet 复制对象 (JRO) 库时,方法 JRO.JetEngine.CompactDatabase 定义为

    Sub CompactDatabase(SourceConnection As String, Destconnection As String)
    

    如果为两个参数提供相同的连接字符串,则会出现错误,“数据库已存在”。

    因此,当使用 JRO 时,是的,压缩时创建一个新文件是正常的。

    【讨论】:

    • 我只是在Office按钮->管理菜单中使用压缩和修复。
    【解决方案3】:

    新文件是因为压缩和修复过程没有完成,所以它不能删除你原来的文件并重命名压缩文件。这可能是因为它没有独占访问权限。在压缩和修复之前,请确保每个人都离开了系统。还要检查您是否拥有该文件夹的完全权限。

    【讨论】:

    • 您还应该查看新创建的文件,看看它是否有 MSysCompactErrors 表。通常,当您没有独占访问权限时尝试的压缩甚至不会启动 - 访问 UI 会给您一条消息,说它无法执行此操作,因为其他人正在使用它。所以,我怀疑在实际的修复操作中出现了一些问题。
    • 我尝试了独占访问,还查找了错误表,但对我来说似乎都不是。
    猜你喜欢
    • 2013-04-01
    • 2014-01-15
    • 1970-01-01
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多