[color=blue]
>Is this peculiar to the OLE Object field[/color]
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.
[color=blue]
>I proposed a checksum-based method to help solidify the links[/color]
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@thanksanyway.org> wrote:[color=blue]
>"Bri" <not@here.com> wrote:[color=green]
>>
>> 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.[/color]
>
>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.
>[color=green]
>> 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.[/color]
>
>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
>
>
>[/color]