Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Загрузка файла в blob [D7]


CasperR ©   (2005-07-15 10:24:00) 

Кто-нить сталкивался с проблемой загрузки файла в блоб-поле базы Oracle через процедуру сервера????
В IB почему-то работает, а в Oracle все приходится через голову делать.


evvcom   (2005-07-21 11:51:00) [1]

Сейчас поменял наконец ODAC с 4.10 на 5.10.0.5. Проблемы с блобами, которые не смог решить в 4.10, исчезли. Пытался 5.50.17 поставить, но что-то с исходниками не то.


CasperR   (2005-07-15 13:04:00) [2]

Удалено модератором
Примечание: Личная переписка


CasperR   (2005-07-15 13:00:00) [3]

Удалено модератором
Примечание: Личная переписка


Reindeer Moss Eater   (2005-07-15 12:55:00) [4]

Только что попробовал - работает.
Demos\Clob.dpr
Файл ~ 500 кб
ODAC 5.50.1.18
Oracle 9.2.0.6


CasperR   (2005-07-15 12:44:00) [5]

Начсет лоб локаторов я в курсе. Как-то в одаках встречался пример с возвратом локатора клиенту - все равно глюкало по черному.
Делаю процедуру такого рода: вставляю сначала данные (без блоб), вместо блоба - empty_blob(). Результат вставки - локатор. В этой же процедуре пытаюсь вставить файл - не работает. Причем как мне кажется проблема еще на этапе передачи параметров в процедуру. Вот и приходится делать все в 2 этапа.


Reindeer Moss Eater   (2005-07-15 12:33:00) [6]

Во-вторых, в insert или update обязательно вставляемое/изменяемое значение BLOB должно возвращаться опять же в этот параметр

Это не совсем так.
Создается пустой объект lob (никуда не указывающий), затем он вставляется в поле (при этом он начинает указывать на конкретное место на диске куда попадут данные), затем этот лоб локатор следует вернуть клиенту что бы клиент использовал его для заливки собственно данных.
То есть клиенту возвращаются не данные, а локатор.


evvcom   (2005-07-15 12:22:00) [7]

см.[7] пост в http://www.delphimaster.ru/cgi-bin/forum.pl?id=1121238833&n=1


Stakan   (2005-07-15 11:33:00) [8]

А в чём проблема?


Reindeer Moss Eater   (2005-07-15 11:15:00) [9]

Потому что lob объекты Оракла сильно отличаются от типа блоб в IB.
В Оракле это есть нечто похожее на Pointer в Паскале.


Наверх

Титульная страница Поиск, карта сайта Написать письмо