OLE field causes db size to grow at disproportionate rate

M

Mark

I have an Access 2000 database. I created a picture field
(OLE) in one table. I then inserted 8 picture objects into
8 separate records. All of the picture files (.jpg) were
about 30KB. However these 8 pictures caused my back end
(data file) to grow from 3MB to 10MB. I don't get it. This
worries me as I have about 300 pictures to enter in total.
I am worried that this will cause the database to become
an unmanageable size. Why didn't the back end only grow by
240KB? What can I do to include pictures but still keep
the data file size reasonable?

Any solutions out there?

Thanks if you have an answer!

Mark
Ontario, Canada
 
E

Exponent

This can occur when an OLE server stores image data uncompressed. In the case of jpeg this can cause a
huge overhead - we've seen as much as 18000 percent (180 times!). Even ‘linking’ (with OLE) can cause
a large overhead, since an uncompressed ‘preview’ image may still be stored in the field.

The solution, if you want to keep the image data actually inside the database, is to avoid the OLE Server
and just store the raw binary data. The overhead is then negligible, and other problems associated with
discarding the compressed data are avoided (eg loss of EXIF info), as are possible configuration and interoperability
problems with using OLE servers. Of course you can also manage the images as external files, although
displaying them may still rely on specific components (such as Office Graphics Filters), depending on the
image format.

A detailed analysis of the OLE storage issue is available here:
http://www.ammara.com/articles/imagesaccess.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top