Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Администрирование Oracle Database:
- Установка и настройка базы данных
- Обновление, применение патчей
- Оптимизация, настройка производительности
- Обучение, подготовка персонала, оптимизация
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА:

Работа с изображениями в Oracle 12 года 6 мес. назад #3534

Пробую работать с изображениями в Oracle. Сразу скажу, что раньше с объектами BLOB вообще не работала.
Необходимо в Oracle Forms из файла загрузить картинку в БД, затем отображать загруженные картинки в форме.
Я сделала следующее: создала таблицу с полем IMAGE_MY типа BLOB, создала в форме базовый(!) блок с элементом, ссылающимся на поле IMAGE_MY. Далее по кнопке с помощью Read_Image_File загружаю файл в элемент IMAGE_MY. Картинка сразу же отображается на форме. Вставка в БД, т.к. элемент - базовый, должна идти автоматически. И, видимо, в БД изменения происходят, т.к. форма сообщает, что одна транзакция была передана и зафиксирована. Но в таблице строки не прибавляются!
Что я неправильно делаю? Может быть что-то не доделываю? Или может быть вообще не с той стороны к решению проблемы подошел?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Daymon.

Re: Работа с изображениями в Oracle 12 года 6 мес. назад #3535

Привет. Ну в принципе должно сработать. При запросе изображение появляется? Или нет?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Работа с изображениями в Oracle 12 года 6 мес. назад #3536

Делаю select count(*) из этой таблицы - возвращает 0 строк. Если делаю в форме execute_query в этом блоке формы, то говорит, что 0 записей выбрано.
Но что меня еще смущает, если я пытаюсь в этом же триггере как-то обратиться к этому элементу формы (напр. :sto_im.image_my:=null;), то компиляция не идет - "неверная переменная привязки" :О

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Работа с изображениями в Oracle 12 года 6 мес. назад #3537

0. Пусть картинки в файловой системе в формате bmp.
1. Таблица img(id number(10),img blob)
2. Форма - блок img базовый на таблице img. Все колонки тоже базовые. Для изображения - формат tiff для хранения в базе.
3. Создаем кнопку для загрузки изображения и поле для ввода имени файла fname (текстовое 255 сиволов). Можно в том же блоке, обязательно помечаем как небазовые.
Триггер when-button-pressed:
begin
read_image_file(:fname,'bmp','img');
end;
(не пишу проверку правильности загрузки).
5. Запускаем форму. На всякий случай вводим поле id (вдруг главный ключ). Вводим имя файла в поле fname, жмем кнопку загрузки, видим загруженное изображение в элементе img. Сохраняем, делаем запрос. Появляется картинка.

На image item нельзя ссылаться через ":" - это нормально.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Работа с изображениями в Oracle 12 года 6 мес. назад #3538

Ура! Заработало! Почти ;-)
Хотя мне кажется я делал все тоже самое. С той лишь разницей, что сначала у меня это были не базовый блок и элементы - я просто учился загружать картинку в форму. Потом я "ручками" поменял все (как мне казалось) свойства на базовые с соответствующими ссылками на объекты БД. Может где-то тут что-то не доделал.
Сейчас удалил весь этот блок, создал его заново - изображение в БД записалось! По крайней мере select count(*) from img выдает теперь одну строку.
Единственное, что пока не получилось отобразить изображение из БД на форме - запрос выполняется (т.е. ошибок не выдает), но картинка не появилась. Поразбираюсь с этим еще...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Работа с изображениями в Oracle 12 года 6 мес. назад #3539

У меня таже проблема была.
Изменила тип столбца в БД с BLOB на LONG RAW и стало все работать.
Теперь и загружается, и отображается из базы.
Но странно... может Developer 6i не поддерживает работу в BLOB? Когда image был в БД типа BLOB форма не ругалась, запрос выполняла, но изображения не было

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
  • 4
Время создания страницы: 0.212 секунд