揭秘Access数据库过大问题的几种解决方案_Access数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:access升级到SQLServer如何调整字段类型及函数:JET SQL 和T-SQL
ANSI SQL BIT数据类型与 the Microsoft Jet SQL BIT 数据类型不对应。而与 BINARY 数据类型对应。ANSI SQL 并没有等效于 Microsoft Jet SQL 的 BIT 的数据类型。 TIMESTAMP不再作为DATETIME的同义字被支持。 NUMERIC 不再作为 FLOAT或 DOUBLE的同义字被支持

问题:

1、我的Access数据库里面没存多少数据,为什么体积很大,别人和我存一样的数据为什么只有我的文件体积的1/10。
2、为什么我删除了数据,但是数据库体积没有减小?
3、为什么我存了几张图片到ole字段里面数据库体积就变大,而且变大的速度超过图片的总体积?
4、为什么我的数据库没有几条记录,体积就20多MB
5、每次体积变大后都要手动压缩?有没有办法自动压缩?



回答:

1、2、你只要在Access里面菜单 工具->数据库实用工具 -> 压缩修复数据库 就可以了
原因是:Access在删除记录或者进行其他需要临时数据的操作后,并不物理删除这些无用数据,只有压缩修复数据库的时候才真正删除。就象windows中将文件放进回收站中无法增加可用空间必须清空回收站是一个道理。

如何操作请参考以下 FLASH 动画:
手动压缩修复数据库。
http://access911.net/down/eg/swf/rc.htm
http://access911.net/down/eg/swf/rc.swf

3、手动将文件插入ole字段的文件,实际保存在数据库中时ole引擎会在文件数据的前面增加一段信息,用于让ole引擎处理你放进去的文件,所以体积会变大。

4、请查看一下,你的数据库里面是否有包含ole字段的表,ole字段可以存储体积非常大的文件,导致体积增长很正常。再看一下你的数据库中窗体、报表中有没有嵌入使用图片做背景。Access中的背景图片全部是以bmp图片格式存放的,即使你原先指定的是jpg格式,Access也会自动将文件格式转换为bmp再存放。
无论是背景还是控件,只要有图片,体积就会不正常地增大。还有,如果你的程序设计成运行时会使用大量临时数据,用完了再删除的,也会造成体积暴增。

5、可以设置退出时自动压缩,步骤如下:
菜单 -> 工具 -> 选项 -> 常规关闭时压缩 -> 前面打上勾


以上为转贴,以下为原创。

上面的是几种数据库变大后的解决方案。

我想说的是如何防止数据库变的如此大。

站在程序员的角度来说,所以不一定对各位站长有用。

只是或许可以给各位Asp+Access的程序作者一点小小的建议而已。。

采用多个数据库,而不是一个数据库。

分享:解读ACCESS的参数化查询
最近因项目需要用ACCESS做数据库开发WEB项目,看论坛上还许多人问及ACCESS被注入的安全问题,许多人解决的方法仍然是用Replace替换特殊字符,然而这样做也并没有起到太大做用,今天我就把我用ACCESS参数化查询的一些方法和经验和大家分享,希望对大家有所启

共3页上一页123下一页
来源:模板无忧//所属分类:Access数据库教程/更新时间:2010-02-26
相关Access数据库教程