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

nl 2001-06-05 09:07:00
我用Access97建立数据库,使用ADO对象对数据进行访问.库中有一临时表,程序运
行时需要对该表进行大量数据的存入,程序退出前清空该表所有数据.最后发现
程序运行前数据库只有1MB,而运行后数据库变成了18MB,几乎没添加什么新数据,
数据库怎么会这么大.我该如何解决这一问题?
...全文
177 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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