Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Размер базы 260 MB!  [new]
new1352
Guest
Господа специалисты!

Подскажите пожалуйста в чем дело:
Есть mdb база с 1 таблицей - в ней ~ 400 записей
Два поля - объекты OLE (картинки), который внедрены, а не связаны.
В сумме в базе около 100 картинок, в обоих полях. Средний размер картинки - 80К.
Вопрос: каким образом база весит 260 МВ? Ведь даже если все записи будут иметь оба поля заполненными картинками по 80К, это дает 80К*400*2=64000К
Команда Compact&Reapir не помогла.

Спасибо!
11 дек 03, 13:52    [457036]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Pavel
Member

Откуда: Кемерово
Сообщений: 2435
Попробуй импортировать табличку в новую базу.
11 дек 03, 14:22    [457152]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
new1352
Guest
После экспорта новая база весит точно столько же - 260МВ
11 дек 03, 14:37    [457188]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 5006
By default, the interpreter for the OLE Object field is Microsoft Paint. Paint uses .bmp files, and when you try to store or link a JPEG file, the file is stored as Package or Bitmap Image in the table.

т.е. твой 80кб рисунок превращаеться в многомегабайтного зверя bmp.


==
Оле оле оле. Спартаааак - Чемпион :)
11 дек 03, 14:44    [457202]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
new1352
Guest
Это для 97, я использую 2002. Там дефолтный тип таких объектов - MS Photo Editor.
11 дек 03, 15:52    [457369]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
Дело в том, что когда используется OLE, в эту ячейку пихается куча всякой ерунды, поэтому файлы в 1кб могут занимать в базе и 10 и 100 кб. Единственный выход - хранить файлы в двоичном виде, тогда размер базы будет соответствовать объему содержащихся в ней объектов. Но при этом вы лишаетесь прямого просмотра этих картинок в форме.

В принципе этот файл 260 Mb должен очень хорошо сжиматься, т.к. в полях OLE будет много повторяющихся данных.
11 дек 03, 16:27    [457435]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
new1352
Guest
Большое спасибо за обьяснение! :-)
Печально, что с этим ничего поделать нельзя, кроме как связать (вместо внедрения) графику через линки
11 дек 03, 16:35    [457449]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
уважаемые Alll!
а что будет
если принесет человек свою базу с обработчкиом OLE, указывыающим на класс PhotoEditor
на машину
где этой программулины нет?
или наоборот: при закачке был paint, а при просмотре оказался кто то вроде ACDSee?
11 дек 03, 17:23    [457518]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
Ну вообще-то внедренные объекты на этой случай хранят битмапчик со внешним видом внедренного безобразия. Так что просмотреть (по идее) можно будет. А вот отредактировать - уже нет.
Кстати, это объясняет, почему несмотря на то, что "дефолтный тип таких объектов - MS Photo Editor", объем базы не уменьшается.
11 дек 03, 17:37    [457539]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
Надо картинки вставлять как Device Independend Bitmap. Тогда Access не будет запихивать пол-Paint Brush(или там Photo Editor) в ячейку. Но тогда картинка будет храниться в формате *.dib (типа bmp) и при двойном клике никакой редактор не будет вызываться. Зато будет везде работать.
11 дек 03, 17:39    [457547]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
Лох Позорный
Не согласен. Простой пример, на машине не установлен PBrush. Приходит документ извне (.doc) в который вставлена туева хуча картинок. Ничего не отображается. Пишет {embed pbrush} и до свиданья. Установка Paint'a не помогет до конца, но проблема решаема. Так что со вставкой картинок надо быть осторожнее.
11 дек 03, 17:47    [457556]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Alexus12
Member

Откуда:
Сообщений: 2868
А почему тогда (нет паинт - нет картинок?)
без установки equation editor (формульный редактор)
cсами формулы в ворде есть (по аналогии их и быть не должно)
11 дек 03, 17:57    [457567]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Лох Позорный
Member

Откуда:
Сообщений: 9898
2 CtrlAlt
Значит фиговенький это PBrush
Проведи эксперимент. Внедри эксельный файл в вордовый документ, сохрани, закрой, а потом переименуй нафиг excel.exe во что-нибудь. Открой вордовый док - и увидешь картинку с таблицей.
Может это и не обязательное поведение, а только рекомендованное. Хз.
11 дек 03, 18:03    [457581]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
Лох Позорный

Только что провел такой эксперимент :). Посмотрел, а ты уж присоветовал :)
Если не подумавши, то объяснение такое: не все йогурты одинаково полезны.

Например у меня в Access 97 картинки с gif и jpg в Access'е сразу не отображаются (только после клика), а с bmp все ок. Наверно если объект не имеет такой опции - просмотр ввиде картинок - то ничего и не будет видно, если он не установлен.
11 дек 03, 18:24    [457611]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Темный
Member

Откуда:
Сообщений: 11941
ИМХО, досужие размышления:
Есть 2 формата BMP: Mac & Windows.
Кто разработал формат Windows BMP, надеюсь не надо говорить?
А также, кто разработал Office.
11 дек 03, 18:31    [457625]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Geo
Member

Откуда:
Сообщений: 6883
Еще имхо.
BMP и PCX самые простые форматы.
Не помню, кажется, один из них хранит данные "картами", а другой по точкам. Но не суть важно, и первый pcx, и bmp делают их без каких-либо сжатий, в отличие от jpeg'а, и без лишних данных, в отличие от giff'a.
11 дек 03, 18:39    [457637]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Темный
Member

Откуда:
Сообщений: 11941
BMP - точками. Вроде бы. :)
11 дек 03, 18:40    [457642]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
BMP хранит информацию о каждой точке
PCX - похож на bmp, но серии одинаковых точек кодируются типа AAAAA=5A
GIF - по-моему сжатие LZH и что-то еще
JPG - сжатие основано на особенности цветовосприятия людей. На яркость (или цветность, не помню) отводится меньше бит + LZH.

Первые два просматривать довольно просто, GIF и JPG не всегда(например в старых PBrush)
11 дек 03, 18:50    [457657]     Ответить | Цитировать Сообщить модератору
 ясен пень BMP точками... на то он и B i t M a P  [new]
internet
Member

Откуда:
Сообщений: 33
а вооще - лажа это графику в явном виде в базе хранить...

я храню оригинал как двоичный фал, плюс к тому BMP копию меньшего размера (160Х120)

для просмотра редактирования конвертации использую вьюер|редактор|конвертер, который также хранится в двоичном виде в базе - когда нужно - сохраняю его как файл (он не требует установки) и запускаю из командной строки. он позволяет делать и ресайз оригинала до 160Х120 и конвертацию его в БМП.

называется XNView - халява.

у меня в базе более 2000 записей с картинками каждая, размер 16МБ

а если графика векторная - схемы, планы помещений и прочее - воопче проще VISIO к Access подключить - он сам все нарисует, в базе хранятся только описания шейпов
11 дек 03, 18:56    [457665]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
CtrlAlt
Member

Откуда:
Сообщений: 437
internet

Согласен
11 дек 03, 18:58    [457668]     Ответить | Цитировать Сообщить модератору
 Re: Размер базы 260 MB!  [new]
Geo
Member

Откуда:
Сообщений: 6883
2СtrlAlt
pcx жаться научился то-ли со второй, то-ли с третьей версии. Кажется. (Искать лениво:).
11 дек 03, 19:45    [457688]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить