問題:
1、我的Access數(shù)據(jù)庫里面沒存多少數(shù)據(jù),為什么體積很大,別人和我存一樣的數(shù)據(jù)為什么只有我的文件體積的1/10。
2、為什么我刪除了數(shù)據(jù),但是數(shù)據(jù)庫體積沒有減小?
3、為什么我存了幾張圖片到ole字段里面數(shù)據(jù)庫體積就變大,而且變大的速度超過圖片的總體積?
4、為什么我的數(shù)據(jù)庫沒有幾條記錄,體積就20多MB
5、每次體積變大后都要手動(dòng)壓縮?有沒有辦法自動(dòng)壓縮?
回答:
1、2、你只要在Access里面菜單 工具->數(shù)據(jù)庫實(shí)用工具 -> 壓縮修復(fù)數(shù)據(jù)庫 就可以了
原因是:Access在刪除記錄或者進(jìn)行其他需要臨時(shí)數(shù)據(jù)的操作后,并不物理刪除這些無用數(shù)據(jù),只有壓縮修復(fù)數(shù)據(jù)庫的時(shí)候才真正刪除。就象windows中將文件放進(jìn)回收站中無法增加可用空間必須清空回收站是一個(gè)道理。
如何操作請(qǐng)參考以下 FLASH 動(dòng)畫:
手動(dòng)壓縮修復(fù)數(shù)據(jù)庫。
http://access911.net/down/eg/swf/rc.htm
http://access911.net/down/eg/swf/rc.swf
3、手動(dòng)將文件插入ole字段的文件,實(shí)際保存在數(shù)據(jù)庫中時(shí)ole引擎會(huì)在文件數(shù)據(jù)的前面增加一段信息,用于讓ole引擎處理你放進(jìn)去的文件,所以體積會(huì)變大。
4、請(qǐng)查看一下,你的數(shù)據(jù)庫里面是否有包含ole字段的表,ole字段可以存儲(chǔ)體積非常大的文件,導(dǎo)致體積增長(zhǎng)很正常。再看一下你的數(shù)據(jù)庫中窗體、報(bào)表中有沒有嵌入使用圖片做背景。Access中的背景圖片全部是以bmp圖片格式存放的,即使你原先指定的是jpg格式,Access也會(huì)自動(dòng)將文件格式轉(zhuǎn)換為bmp再存放。
無論是背景還是控件,只要有圖片,體積就會(huì)不正常地增大。還有,如果你的程序設(shè)計(jì)成運(yùn)行時(shí)會(huì)使用大量臨時(shí)數(shù)據(jù),用完了再刪除的,也會(huì)造成體積暴增。
5、可以設(shè)置退出時(shí)自動(dòng)壓縮,步驟如下:
菜單 -> 工具 -> 選項(xiàng) -> 常規(guī)關(guān)閉時(shí)壓縮 -> 前面打上勾
以上為轉(zhuǎn)貼,以下為原創(chuàng)。
上面的是幾種數(shù)據(jù)庫變大后的解決方案。
我想說的是如何防止數(shù)據(jù)庫變的如此大。
站在程序員的角度來說,所以不一定對(duì)各位站長(zhǎng)有用。
只是或許可以給各位Asp+Access的程序作者一點(diǎn)小小的建議而已。。
采用多個(gè)數(shù)據(jù)庫,而不是一個(gè)數(shù)據(jù)庫。
新聞熱點(diǎn)
疑難解答
圖片精選