![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BLOBы в Oracle
Grant © (2007-03-15 11:37:00)Всем привет. Есть такой вопросик.
Есть таблица в базе Oracle у которой есть BLOB поле.
В коде Delphi я все запросы на изменение базы пишу следующим образом:
TQuery.SQL.ADD('INSERT INTO....');
TQuery.ExecSQL;
.....
Я знаю что при записи BLOB в ORacle есть свои особенности.
Мне надо запихнуть в BLOB поле базы например картинку.
Могу ли я зделать это именнотаким способом записи в базу какой описал я выше(Другие способы пока не интересуют). Заранее спасибо.
Val (2007-03-15 12:35:00) [1]Да в бде, как мне помнится тоже не было проблем.
Манипуляции с локатором пришлось производить на клиенте при переходе на компоненты прямого доступа.
Desdechado (2007-03-15 12:31:00) [2]Ну, если в БДЕ так криво, тогда увы.
В dbExpress все путем, никаких загогулин.
ANB (2007-03-15 12:28:00) [3]
> TQuery.SQL.ADD('INSERT INTO....');
Нехороший способ. TQuery.SQL.Text := - намного удобнее.
Кистате, через BDE с ораклом работать - самое последнее дело.
ANB (2007-03-15 12:27:00) [4]
> Desdechado © (15.03.07 12:21) [3]
> Вот и вся особенность.
К сожалению - не вся.
В параметр блобик не лезет.
Чтобы записать блоб, нужно проинициализировать локатор (обычно это делают хранимкой), потом, получив
> после
выполнения хранимки указатель на локатор в OUT параметре, загружают в него данные.
Вот такой хитрый оракл.
Правда, Саша Просторов нашел таки способ делать это более по человечески - т.е. таки грузить параметр до выполнения хранимки/DML, но тоже с извращениями - генериться пустой временный локатор из какого то пакета. Ща у меня под рукой исходника этой фичи нету, но помню, что он дня три парился, пока заработало по человечески. Зато очень удобно. Тока ODAC при этом слегка поломали.
Desdechado (2007-03-15 12:21:00) [5]Вот и вся особенность.
Grant (2007-03-15 12:20:00) [6]Умею.
Desdechado (2007-03-15 11:47:00) [7]параметры умеешь пользовать?