Запись / чтение OLE-объекта из MS Access в файловую систему с Java - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть настольное приложение с Java 7, где пользователь может заполнить форму данными и выбрать изображение (только в формате .jpg) с помощью средства выбора файлов и вставить его в базу данных MS Access (.accdb).Администратор приложения может экспортировать все данные, вставленные в прошлом месяце в файл .csv, а изображения должны храниться в папке в виде файлов .jpg.

Я подключаюсь к базе данных MS Access и успешно читаю и записываю данные, но безпоэтому возникает вопрос:
- как сохранить изображение из файловой системы в MS Access как объект OLE
- как экспортировать изображение из столбца объекта OLE в файловую систему (как файл .jpg)

1 Ответ

0 голосов
/ 18 октября 2018

Существует большая разница между использованием OLE в Java и получением объекта OLE из базы данных MS Access через Java.

Обычно доступ к MS Access осуществляется через соответствующий драйвер ODBC (который не имеет ничего общего с Java.) И ODBC не поддерживает объекты OLE напрямую. По крайней мере, не настолько, насколько я помню, ни то, что я могу найти.

Итак, что нужно сделать, это точно OLE в двоичном формате, а затем получить точную информацию из этого, манипулируя им. Другими словами, извлеченный двоичный файл содержит изображение и ДРУГУЮ информацию. Эта другая информация удаляется до того, как двоичные данные станут фактическим изображением.

Ниже приводится некоторая информация.

Извлечение OLE-объекта из Access DB

ПЕРЕД попыткой манипулировать изображением, вы ДОЛЖНЫ проверить следующее. 1. Напишите свой код для извлечения изображения из объекта. 2. Запишите двоичные данные в файл. 3. Используйте соответствующее внешнее приложение для загрузки файла и убедитесь, что формат правильный. 4. Повторите вышеуказанные шаги для всех известных вариантов Отображение объекта OLE

...