ACCESS数据库释放空间的问题。

ryueiketu 2010-11-23 08:42:07
最近用ACCESS做了一个小型的工具,用ACCESS做数据库,因为数据量比较大,发现到了2G的时候,数据库就出错了,最后上网上查是因为ACCESS好像最大就支持2G的,所以我就想把数据中一部分数据删掉,但问题又来了,删掉数据还不放空间,还的手动释放,哎。但我也不能每次都跑到客户的机器上释放吧。呵呵。于是又想用程序实现。。。问题又来了。。发现数据库如果正在被应用程序占用时,还不能程序访问释放。。。(因为程序一直在运行)。。各位同仁,咋办,有做过的给指点一下。
...全文
380 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ounce135 2011-01-21
  • 打赏
  • 举报
回复
请教一下,怎么让网站空间里的access数据库压缩 有没有代码
magic23 2010-12-01
  • 打赏
  • 举报
回复
我很赞同啊
ryueiketu 2010-11-27
  • 打赏
  • 举报
回复
谢谢各位,
我的程序是二十四小时不断的运行。。。所以这个问题就。。
其实我就想找一个能在运行过程中还能压缩DB的方法。。。。
哎。。看来也没有啥好方法。。微软这垃圾东西,还好不收费。他也不好意思收费。
ryueiketu 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wwwwb 的回复:]

MDB运行机制就是这样的,你用捕获错误的方法,用代码压缩MDB
[/Quote]
你好多牌牌呀..
即使我能捕获到异常,但是我也没有办法压缩呀,因为程序还在联着DB呀,莫非我断掉连接??好象看网上的例子,都是把要压的DB,先压成另一个DB,然后在把原来的DB删掉,再把压好的那个改名..如果是这样的话,本程序就没办法压自己连的DB了...另做一个程序用来压DB???请指教..
magic23 2010-11-25
  • 打赏
  • 举报
回复
需要压缩 新人请教一下怎么赚积分
wwwwb 2010-11-25
  • 打赏
  • 举报
回复
即使我能捕获到异常,但是我也没有办法压缩呀,因为程序还在联着DB呀,莫非我断掉连接??好象看网上的例子,都是把要压的DB,先压成另一个DB,然后在把原来的DB删掉,再把压好的那个改名..如果是这样的话,本程序就没办法压自己连的DB了...另做一个程序用来压DB???请指教..

在空闲的时候压缩,比如规定某个时间段(0-7)点压缩
Denessa 2010-11-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ryueiketu 的回复:]


即使我能捕获到异常,但是我也没有办法压缩呀,因为程序还在联着DB呀,莫非我断掉连接??
[/Quote]
程序连着不要紧,只要access数据库没有打开就能压缩,所以只要压缩前手动把数据库关掉就可以了。
ACMAIN_CHM 2010-11-25
  • 打赏
  • 举报
回复
在你的WINDOWS服务器上,设置一个 计划任务, 然后每天半夜没人用的时候 执行一下压缩。

如果安装了msaccess.exe 则可以简单的

"C:\Program Files\Microsoft Office\Office10\msaccess.exe" "C:\Program Files\Microsoft Office\Office10\samples\northwind.mdb" /compact .....

具体参数你可以参考手册中的例子和说明。
ryueiketu 2010-11-24
  • 打赏
  • 举报
回复
没有发现有价值的回贴,自己顶下.
Denessa 2010-11-24
  • 打赏
  • 举报
回复
可以在程序中做个数据库是否已关闭的提示框,这样每次压缩时都会弹出这个提示框来提醒他关闭数据库。
WWWWA 2010-11-24
  • 打赏
  • 举报
回复
MDB最大不能超过2G,经常 备份、压缩MDB,提高性能
ACMAIN_CHM 2010-11-24
  • 打赏
  • 举报
回复
那就每次程序关闭后,通过程序执行一下数据库压缩。
wwwwb 2010-11-24
  • 打赏
  • 举报
回复
MDB运行机制就是这样的,你用捕获错误的方法,用代码压缩MDB
ACMAIN_CHM 2010-11-23
  • 打赏
  • 举报
回复
[Quote]压缩和修复 Access 文件
为确保实现最佳性能,应该定期压缩和修复 Microsoft Access 文件。而且,如果在用户使用 Access 文件过程中发生了严重的问题,并且 Access 试图恢复时,用户会收到一条消息,告知修复操作已取消,应该压缩并修复文件。

注意 压缩位于使用 NTFS 文件系统的卷上的 Microsoft Access 文件时,Access 会删除已有文件并用压缩文件进行替代。接着,Access 将默认文件权限应用于新的文件。如果文件是 Access 数据库,请使用 Access 用户级安全机制而不是文件级权限。否则,请使用文件夹权限。有关 NTFS 文件系统和文件夹权限的其他信息,请参阅 Windows“帮助”。

为了压缩和修复 Access 数据库,用户必须对该 Access 数据库具有“打开/运行”和“以独占方式打开”的权限。

压缩和修复当前 Access 文件

如果要压缩位于服务器或共享文件夹上的共享 Microsoft Access 数据库,请确保没有其他用户打开它。
在“工具”菜单上,指向“数据库实用工具”,然后单击“压缩和修复数据库”。
[/Quote]
ACMAIN_CHM 2010-11-23
  • 打赏
  • 举报
回复
[Quote]关于 Access 文件的压缩和修复
Microsoft Access 将对 Access 文件的压缩和修复放在一个进程中处理。

压缩 Access 文件

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,文件可能会变得支离破碎,并使磁盘空间的使用效率降低。压缩 Access 文件将制作文件的副本,并重新组织文件在磁盘上的存储方式。压缩上一版的 Access 数据库并不会将其转换为 Access 2002 - 2003 格式。

压缩可以优化 Access 数据库和 Access 项目的性能。然而,在 Access 项目中,压缩不影响位于 Microsoft SQL Server 数据库中的数据库对象(如表或视图),而只影响 Access 项目本身的数据库对象。

压缩不影响 Access 项目中的自动编号。但在 Access 数据库中,如果已从具有“自动编号”字段的表的结尾删除了记录,压缩数据库会重设“自动编号”值;您所添加的下一记录的“自动编号”值将大于表中最后一次未删除的记录的“自动编号”值。

注意 压缩位于使用 NTFS 文件系统的卷上的 Microsoft Access 文件时,Access 会删除已有文件并用压缩文件进行替代。然后,Access 将默认文件权限应用于新文件。如果文件是 Access 数据库,请使用 Access 用户级安全机制而不是文件级权限。否则,请使用文件夹权限。有关 NTFS 文件系统和文件夹权限的其他信息,请参阅“Windows 帮助”。

[/Quote]

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧