Предыстория: у нас есть старая (но критически важная для бизнеса) база данных SQL Server с интерфейсом MS Access ADP; Первоначально он был преобразован в SQL Server из серии баз данных Access.
Эта база данных отслеживает опасные материалы для наших клиентов и хранит большое количество изображений. Эти изображения вставляются из MS Access и помещаются в базу данных как объекты OLE.
Проблемы следующие:
У меня такой вопрос: как бы вы порекомендовали преобразовать эти раздутые объекты обратно в простые файлы JPEG? Как только мы это сделаем, мы наконец сможем перенести наш интерфейс из Access в простую веб-систему, и время резервного копирования снова станет управляемым!





Я думаю, что причина, по которой ваша база данных становится такой раздутой, заключается в том, что файлы JPG также хранятся в виде растровых изображений внутри структуры «объекта OLE», или так я видел, в зависимости от метода, которым был вставлен JPEG.
Это не оптимально, но: для каждого изображения в базе данных я бы программно создал фиктивный .doc, содержащий только изображение, затем пропустил его через преобразование OpenOffice и извлек JPEG из подпапки изображений созданного документа OpenOffice (который является ZIP-файл).
Затем я бы заменил документы OLE в базе данных необработанными данными в формате JPEG, но тогда у меня нет возможности просто отобразить их в пользовательском приложении (если это не веб-приложение).
Возьмите отсюда файл * .bas http: http: //stackoverflow.com/Content/img/wmd/ul.png//www.access-im-unternehmen.de/index1.php? BeitragID = 337 & id = 300 (к сожалению, немецкий).
Он использует GDI + lib от MS (входит в стандартную установку Win) для импорта / экспорта изображений в / из Access OLE.
Грубый перевод интерфейса:
И снова ссылка: http://www.access-im-unternehmen.de/index1.php?BeitragID=337&id=300
вы могли бы подумать об изменении своего предыдущего ответа и исправлении этого форматирования ссылки?
Используйте инструмент Access MVP Stephen Lebans ExtractInventoryOLE для извлечения объектов OLE из таблицы в отдельные файлы.
http://www.lebans.com/oletodisk.htm
По словам Лебанса: «НЕ требует, чтобы исходное приложение, которое служило сервером OLE, вставляло объект. Поддерживает все документы MS Office, PDF, все изображения, вставленные MS Photo Editor, MS Paint и Paint Shop Pro. Также поддерживает извлечение PACKAGE, включая исходное имя файла. "
Кроме того, Access 2007 хранит объекты OLE намного эффективнее, чем исторические форматы BMP предыдущих версий, поэтому у вас будет меньше места для хранения и вы сможете сохранить свое приложение Access, если вы преобразовали его из хранилища 600+ ГБ в Access. 2007 формат accdb. Время резервного копирования будет управляемым, и вам не придется тратить время на преобразование внешнего интерфейса Access в веб-интерфейс.
Хорошо работает с форматами .mdb и .mde Access. У меня такая же проблема с файлом .accdb.
Спасибо за это, я попробую. Учитывая объем данных, которые мне нужно передать, я могу в конечном итоге преобразовать изображения в пакетах за ночь, пока я подключаю новый интерфейс. Оценил!