一张图片说明往往胜过千言万语,不过却会占用相当多的存储空间。
人们越来越热衷于在数据库中存储图像文件。例如销售产品的说明图片、工程设计图纸、公安部门存储身份证照片和指纹图像、图书馆数据库里的动植物标本照片、商品图片等等,类似的例子举不胜举。其中有很多存储在数据库里的图像是可以通过浏览器访问,提供给很多人使用的。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)想要将图片存储在数据库里有好几种方法。本文将为大家讲述如何在Access里存储图像,不过您也可以稍加变通扩展到其他不同的数据库引擎。
数据库里的图像
正如文本存储在文本框、日期存储在日期栏一样,图像也需要特定文件类型来存储。在SQL Server中,虽然被称为“图像”文件,不过在其他的数据库引擎中,可能有不同的名字,包括那个听起来很神气的二进制大型对象(BLOB)数据类型。在Access中,图像文件以OLE类型字段进行存储。这里为对细节感兴趣的人总结了用OLE类型存储图像文件的利弊。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)以OLE对象来存储图像会遇到一个问题,那就是Access数据库膨胀的速度急剧加快,从而使运行速度减慢。特别是当您存储GIF和JPEG格式文件时尤为明显,因为OLE会为每一个图像文件另外创建一个包含显示信息的位图文件;也就是说,如果您添加一个1MB的图像文件,那么实际占用的数据库空间要比1MB大多了。这些附加文件比原始文件的容量更大,从而使您的数据库变得臃肿不堪。牢记一点,Access数据库的最大存储空间只有2GB。如果要存储大量图像,很快就会达到这一存储极限,失去可用空间。不过,除了要小心数据库的膨胀之外,这确实是一个用于存储少量图像的简便之法。而且,如果您要移动数据库,这些存储在内的图像也会随之移动,不过在下面要讲到的方法中可能就不是这样了。