未添任何数据,Access数据库却自动变的很大!

nl 2001-06-05 09:07:00
我用Access97建立数据库,使用ADO对象对数据进行访问.库中有一临时表,程序运
行时需要对该表进行大量数据的存入,程序退出前清空该表所有数据.最后发现
程序运行前数据库只有1MB,而运行后数据库变成了18MB,几乎没添加什么新数据,
数据库怎么会这么大.我该如何解决这一问题?
...全文
113 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
nl 2001-06-26
明白了。
我使用了DAO对象(ADO对象不行)解决了该问题,方法如下:
DBEngine.CompactDatabase App.Path+"\xd.mdb",App.Path+"\xd_temp.mdb"
注:"xd.mdb"待压缩的原数据库必须关闭;"xd_temp.mdb"压缩后的数据库必须原先不存在。
回复
cqq_chen 2001-06-21
驱动程序错了,不能用OLEDB.4.0,用它压缩后成为ACCESS2000的格式,明白了吗?
回复
nl 2001-06-19
不能用Access97打开,用户可能认为该文件损坏!
回复
nl 2001-06-16
笑什么???
回复
nl 2001-06-10
使用如下语句压缩:
je.CompactDatabase _
"Provider=Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=" + App.Path + "\xd.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=" + App.Path + "\xd_temp.mdb;" + _
"Jet OLEDB:Encrypt Database=True"
(将playyuer(女爱㊣)方法中&号换成+,因为用&号语法错误.)
数据库的确由30MB压缩成11MB,但压缩后的xd_temp.mdb在Access97中无法打开.
报错为:Unrecognized database format 'd:\nxc\xd_temp.mdb'
把最后一行去掉还是不行.

仿照MSDN中的方法:
je.CompactDatabase App.Path+"\xd.mdb",App.Path+"\xd_temp.mdb"
编译时报错:"指定的初始化字符串不符合规定"
回复
OLD_VB_FAN 2001-06-10
@_@
回复
turbo 2001-06-06
频繁读写产生了碎片,呵呵
回复
nl 2001-06-06
我必须用代码实现,但使用了playyuer(女㊣爱)的方法数据库变大了500KB,而用access本身
的压缩方法,减小了1MB。(在这之前一天用access本身的压缩方法已将数据库压为5MB)
回复
zfcheng 2001-06-05
你在那里做了那么多读写操作,当然会变大啦。你写入然后删掉,但实际上数据库还保留着你的记录号的,并不是像文件读写那样会自动变小。你压缩一下吧。
回复
y_shen 2001-06-05
打开ACCESS
工具-》数据库实用工具-》压缩数据库
回复
wywq 2001-06-05
估计ACCESS会自动储存很多的如窗体等很多信息,你压缩一下就会小很多!
回复
cqq_chen 2001-06-05
你可以通过程序压缩Access数据库啊!
回复
playyuer 2001-06-05
关于Access数据库
http://www.csdn.net/expert/topic/31/31714.shtm
http://www.csdn.net/expert/topic/120/120832.shtm
http://www.csdn.net/expert/topic/89/89653.shtm
回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2001-06-05 09:07
社区公告
暂无公告