Photo's as OLE in Access XP

P

Peter Marks

I am creating a Databse that will contain a great many
Photo's, I'm using JPG's (about 11k each). Each photo I
add to the database add's 1mb to the database.

I do not want to link the photo's as it is being moved
around a fair bit.

Is there a graphic format that Access uses better?

Would it work better if I put the graphics in a seperate
table and linked them, rather than in the same table as
the data.

If I winzip the file I get 50/60% compression so access
is wasting space, I have used the Compact and Repair Tool
but this never saves more than 1k.

Any suggests please.

Regards

Pete
 
E

Exponent

Using OLE Embedding (or OLE Linking) to store compressed images can cause a huge overhead, since the images
are usually stored as uncompressed bitmaps in the table – for jpeg this can often result in using 10 times
the space required for the original jpeg file or more. The technique also relies on an external application
to store and display the images, which often gives rise to problems when the application needs to run on
multiple systems, since you cannot assume that every user has the same application registered for the particular
file-type, or even present on his machine.

If you want to store the images in tables then you should store the raw binary image data only. Then the
images will occupy the same space as they would stored as disk files. This also avoids the problem of
extracting the original image, since no undocumented headers are used and the compression has not been
discarded. Furthermore, this also permits interoperability with other technologies, such as VB or asp
etc.

You can also reduce the space you need by only storing the resolution needed by your application, for example,
there may be no point storing a hi-res digital camera image at full resolution if it will only be viewed
in a small area on screen (unless you want additional resolution to zoom-in, or for printing).
 
P

Peter Marks

Thanks for the reply, I have so far reduced the overhead
from 1mb per record to 10/15 records per mb. I will
continue to look at this to utilise the software better.

Regards

Pete
-----Original Message-----

Using OLE Embedding (or OLE Linking) to store compressed
images can cause a huge overhead, since the images
are usually stored as uncompressed bitmaps in the table -
for jpeg this can often result in using 10 times
the space required for the original jpeg file or more.
The technique also relies on an external application
to store and display the images, which often gives rise
to problems when the application needs to run on
multiple systems, since you cannot assume that every
user has the same application registered for the
particular
file-type, or even present on his machine.

If you want to store the images in tables then you
should store the raw binary image data only. Then the
images will occupy the same space as they would stored
as disk files. This also avoids the problem of
extracting the original image, since no undocumented
headers are used and the compression has not been
discarded. Furthermore, this also permits
interoperability with other technologies, such as VB or
asp
etc.

You can also reduce the space you need by only storing
the resolution needed by your application, for example,
there may be no point storing a hi-res digital camera
image at full resolution if it will only be viewed
in a small area on screen (unless you want additional
resolution to zoom-in, or for printing).
 

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