Сохранение изображения в Oracle без последующего получения BMP - PullRequest
0 голосов
/ 13 июля 2010

Прямо сейчас я сталкиваюсь с некоторыми проблемами с производительностью в веб-приложении из-за ситуации, когда Oracle сохраняет изображения и мое веб-приложение получает их.

База данных, в которой хранится изображение, получает его из форм Oracle. 'Форма, которая позволяет пользователю сохранять некоторые данные вдоль изображения (в виде BLOB).Независимо от формата, который вы выбираете в качестве входного, он сохраняется в таблице с описанием и содержимым, с соответствующим полем, получающим изображение, как BLOB.

Теперь, перейдя в веб-приложение, оно достигает таблицы черезвеб-служба запрашивает хранимую процедуру и клиент Java WS, поэтому мое веб-приложение получает изображение и сохраняет его во временной папке сервера веб-приложения при необходимости.Вывод не получает никакого конкретного расширения, потому что БД не сообщает, какое расширение должно быть.Во всяком случае, брат может сказать, используя метаданные.Краткая схема процесса выглядит следующим образом:

Presentation layer <--- Business logic <--- WS Client ---o)--- WS <--- Stored Proc <--- BLOB column

Моя проблема заключается в следующем: как избежать, чтобы БД обслуживала растровое изображение?Производительность ужасна в определенных ситуациях и плохое соединение из-за загрузки 1,5 МБ растрового изображения.И это веб-приложение должно быть в состоянии работать должным образом в соединениях 256 МБ.Тогда что можно сделать?

Спасибо за вашу помощь.

Редактировать : С этим можно обращаться, используя тип данных BFILE.Спасибо за вашу помощь. (2010/10/20)

Edit2 : Изображения загружаются в базу данных посредством сборки системы клиент / сервер в формах оракула (6i / 10g).Сама форма хранит изображение в виде блоба в таблице, превращая его в растровое изображение, не имеет значения, является ли загруженное изображение светлым jpg (2011/12/07)

1 Ответ

1 голос
/ 14 июля 2010

Не уверен, на каком уровне вы действительно хотите обрабатывать вещи.Если это слой базы данных, то я подозреваю, что вам нужно начать использовать типы данных ORDSYS.OrdImage, и вы можете использовать встроенные операции преобразования формата , чтобы превратить BMP в JPG или что-то подобное.

Также рассмотрите проблему с большими растровыми изображениями или с большими файлами изображений в целом.

...