Re: Error with AppendChunk() and MEMO field





Is this peculiar to the OLE Object field

The huge overhead is peculiar to OLE Embedding (and OLE Linking) ? these are front-end techniques rather
than field types. OLE Embedding and Linking require a binary field; in Access this is the OLE Object field
type, but the problem is not with the field type (which really has nothing to do with OLE, it?s just a
binary field - the same problem occurs if you use OLE Embedding/Linking with binary fields in other databases,
such as the ?Image? field type in SQL Server).

You can store binary data in an OLE Object field directly, without using OLE Embedding, then there is no
such overhead (and various other problems are avoided too). Done this way, allowing 4k for each thumbnail,
the database could handle 500,000 thumbnails.

Memo fields are designed for text, not binary data.

I proposed a checksum-based method to help solidify the links

How could your ?links? be lost? If you store enough of the path and the filename to uniquely identify
the file that?s all you need; you don?t need to calculate checksums, no ?programmatic re-establishment?
of links would be required.

For example, if your photos are stored as follows:

D:\photos\2002-12-04\PC221788.JPG

You could store ?2002-12-04\PC221788.JPG? as your link (you may want to split this between 2 fields).
This is enough to uniquely identify the file, and you can easily move the file to a new root without needing
to change any records.

--
_______________________________________________________
DBPix 2.0: Add pictures to Access, Easily & Efficiently
http://www.ammara.com/dbpix/access.html



"Mark" <nospam@xxxxxxxxxxxxxxxx> wrote:
"Bri" <not@xxxxxxxx> wrote:

Ah, so you are not any further along in this than I am. :{(
My version of PSP is 4 and I don't see any exposed objects for it. I have
Irfanview, but didn't like it as much as PSP, so I really haven't used it
a lot.

Don't write off Irfanview. Unlike PSP it is not an image editor.
But it does have very good features for batch processing, and that
is what I use it for.

I have then been linking to them with an image control rather than
embedding them into a table. This means you can lose a thumbnail (just
like you can lose the full image), but the total size is a lot less than
with embedding. Access adds in a huge amount of overhead to store images
in OLE Object fields.

Is this peculiar to the OLE Object field, or would the Memo field
exhibit the same problem? Assuming that a binary stream can be
stored in a memo field, that might be a suitable way to store a small
(<65k) jpeg thumbnail.

Unfortunately, database size will grow substantially if images are
stored in the database. It is definitely a tradeoff. IMHO it may be
workable if only small renditions are stored in the database.
Of course you will still have quite a bit of work to do if you lose
your links to the external full-resolution images, but at least you
will have the db-based thumbnails to guide you in restoring the
links.

I proposed a checksum-based method to help solidify the links
to the external images. This would entail generating a unique
checksum value for each full-resolution image, and storing that
value in the database record. If the external links were lost,
the checksums could make it possible to programmatically
re-establish the external links by re-generating checksums
for the external images and matching them to the checksums
in the database. Obviously this is not foolproof, but it could
be quite helpful in disaster recovery.

-Mark




.



Relevant Pages

  • Re: image from access ole field upsized to image field on sql2000 problem reading in vb60
    ... If you've used Access 'OLE Embedding' the data is stored in the private format of the 'OLE server' application ... in your case this could see your database size come down to 100 MB or less, plus you can then use the images ... >We have upsized our access 2000 database on sql2000. ...
    (microsoft.public.vb.general.discussion)
  • Re: Picture
    ... > I want too create a picture database. ... If I use ole objekt I only ... associated with images in OLE Objects. ...
    (comp.databases.ms-access)
  • JPG, OLE, Questions on how to best use images in ACCESS
    ... I have questions about using JPG's in an OLE Bound Frame in Access 2003. ... Secondly I have never had a problem inserting images before into my OLE ... want to use a OLE to imbed my JPG's into my database records.... ...
    (microsoft.public.access.forms)
  • Re: How to get embedded OLE objects out
    ... There are several ways to store images in OLE Object fields. ... The main alternatives are to work with images in the filesystem, or images in the database (as raw-binary/blob ... Some additional info on OLE Embedding vs raw-binary/blob storage is available here: ... Image Handling Components, Samples, Solutions and Info DBPix 2.0 - lossless jpeg rotation, EXIF, asynchronous "Aaron" wrote:>The database I am working with has lot's of graphic files embedded in the>database as OLE objects. ...
    (microsoft.public.access.macros)
  • Re: JPG, OLE, Questions on how to best use images in ACCESS
    ... First you can export all of the embedded JPG images to disk. ... Add a standard Image control(NOT an OLE Frame control) ... > want to use a OLE to imbed my JPG's into my database records.... ...
    (microsoft.public.access.forms)