为什么 .mdb 的大小会随着小图像增长三倍? [英] Why size of .mdb growing three times with small image?

查看:23
本文介绍了为什么 .mdb 的大小会随着小图像增长三倍?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 Access 2010 中制作了一些表单,并将公司徽标添加到标题表单中.此图片为.jpg,大小为70KB.我不知道为什么 .mdb 的大小立即从 4MB 增加到 12MB?(几个表格和相同的标志)也许有一些图像压缩的选项?

I made few forms in Access 2010 and I add logo of company to the header form. This picture is .jpg and size of it is 70KB. I don't know why size of .mdb immediately increased from 4MB to 12MB? (few forms and the same logo) Maybe there is some options of image compression ?

推荐答案

摘自 http://office.microsoft.com/en-us/access-help/store-images-in-a-database-HP005280225.aspx

..."但是,嵌入图像可以迅速扩大您的数据库并导致其运行缓慢.如果您是这样,则尤其如此存储 GIF 和 JPEG 文件,因为 OLE 创建额外的位图文件包含每个图像文件的显示信息,以及这些附加文件可能比原始图像大.在此外,此方法仅支持 Windows Bitmap (.bmp) 和设备无关位图 (.dib) 图形文件格式.如果你想显示其他常见类型的图像文件,例如 GIF 和 JPEG图像,您必须安装其他软件."...

..."However, embedding images can rapidly inflate the size of your database and cause it to run slowly. This is especially true if you store GIF and JPEG files, because OLE creates additional bitmap files that contain display information for each of your image files, and those additional files can be larger than your original images. In addition, this method only supports the Windows Bitmap (.bmp) and Device Independent Bitmap (.dib) graphic file formats. If you want to display other common types of image files, such as GIF and JPEG images, you have to install additional software."...

为了解释这些位图文件是如何存储的,下面的链接提供了比微软网站更多的解释:

To explain how these bitmap files are stored, the link below offers more explanation than the microsoft site:

取自 http://www.ammara.com/support/kb/showkbe5cc.html

..."OLE 链接和嵌入是 Microsoft Access 用于在数据库表中存储对象".该技术依赖于关联的外部应用程序来存储、呈现和编辑数据.在某些情况下,还会保存额外的未压缩预览"图像在表中(即使在链接时).此预览图像用于更快地显示数据,或者当服务器应用程序不是可用的.这会导致巨大的开销.如果您要存储 jpeg未压缩的预览图像可能是实际的十到二十倍图像大小,导致数据库的大小猛增."...

..."OLE Linking & Embedding is a technique used by Microsoft Access to store 'Objects' in database tables.The technique relies on the associated external application to store, present and edit the data. In some cases an additional uncompressed 'preview' image is also saved in the table (even when linking). This preview image is used for faster display of the data, or when the server application isn't available. This can cause a massive overhead. If you're storing jpeg images the uncompressed preview can be ten or twenty times the actual image size, causing the size of the database to rocket."...

因此,当您将图像拖放到 MS Access 中的表单上时,未压缩的图像数据将保存到系统表中.这是实际未压缩的表数据,因此压缩和修复可能没什么帮助.

So, when you drop an image onto a form in MS Access, uncompressed image data is saved to the system tables. This is actual uncompressed table data, so a compact and repair may offer little help.

常见的解决方法似乎是将图像的路径存储在数据库表中,并使用该路径调用表单上的图像.

The common workaround seems to be store the path to the image in a database table, and use that path to invoke the image on the form.

这篇关于为什么 .mdb 的大小会随着小图像增长三倍?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆