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

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

Не могу толком записать в блоб поле картинку в оракл через ODAC [D6]


Relaxxx ©   (2004-08-30 17:23:00) 

Вернее могу, но только файлы очень маленького размера, 2кб, а мне нужно до 50. Вот как я делаю:

 MyImgStream := TMemoryStream.Create;

 SqlQ1.Close;
 SqlQ1.SQL.Clear;
 SqlQ1.SQL.Text:='INSERT INTO money.odac_blob(ID, title, Pic) '+
                 'VALUES(:parID_CL_OBJ,:parNM_CL_OBJ,:parIMG_BLOB)';
 SqlQ1.Params.Items[0].DataType:=ftInteger;
 SqlQ1.Params.Items[1].DataType:=ftString;
 SqlQ1.Params.ParamByName('parIMG_BLOB').DataType:=ftGraphic;

 SqlQ1.Params.Items[0].Value:=103;
 SqlQ1.Params.Items[1].Value:='qwerty1';

 if Image1.Picture.Bitmap.Empty=False then
 begin
   Image1.Picture.Graphic.SaveToStream(MyImgStream);
   SqlQ1.Params.ParamByName('parIMG_BLOB').LoadFromStream(MyImgStream,ftBlob);
 end;

 SqlQ1.ExecSQL;
 MyImgStream.Free;

Когда файл большой, даже 5 кб не хочет пишет ошибку
ORA-01461: допускается привязка LONG значения только для занесения в столбец LONG????
Неужели в BLOB нельзя записывать большие файлы???

З.Ы. У меня Оракл 8.0.5.0


Reindeer Moss Eater   (2004-08-30 19:03:00) [1]

Ты даун или где?
Ты можешь посмотреть текст для INSERT SQL в демо проекте?
ТЕКСТ ЗАПРОСА на вставку в таблицу в блоб поле.
Я тебе всю ветку про текст говорю. Про текст запроса в демке и про твой текст запроса.

Мне пофик работает ли демка у тебя или нет. И всем остальным пофик.

Твой текст insert неправильный.
В демке текст правильный.


Relaxxx   (2004-08-30 18:54:00) [2]

Я демопроект вдоль и впоперек просмотрел, не пашет у меня демка без Net, и что ее смотреть если она толком не работает, если б работала я уже давно б так и сделал!!! какая у тебя версия ОДАК


Reindeer Moss Eater   (2004-08-30 18:34:00) [3]

Мне текст SQL из демосов здесь опубликовать, или догадаешься его в демопроекте разглядеть?

Не работают так в Оракле с БЛОБ полями.
Сначала в поле надо вставить пустой блоб объект. Потом заселекстить его, получив локатор на него. И только потом что -либо писать в это поле используя локатор LOB.

Издеваетесь???
А что, нельзя?


Relaxxx   (2004-08-30 18:30:00) [4]

Издеваетесь???
Тогда какой синтаксис правельнеый?


Reindeer Moss Eater   (2004-08-30 18:24:00) [5]

В тексте INSERT запроса.
Еще шесть постов тому назад.


Relaxxx   (2004-08-30 18:23:00) [6]

Ладно, так в чем тогда проблема???


Reindeer Moss Eater   (2004-08-30 18:22:00) [7]

Еще раз для тех кто:
Опция NET здесь не виновата.


Relaxxx   (2004-08-30 18:19:00) [8]

Как раз-то и причем. Мне сама ODACовская демка когда я отключаю Net выдает ошибку ORA-01403 данных не найдено, а вот когда нет включен все работает. Может у меня плохая версия ODAC, у меня 4.0.5.1.8


Reindeer Moss Eater   (2004-08-30 18:05:00) [9]

Опция NET здесь не при чем.
Все работает и без нее.


Relaxxx   (2004-08-30 18:03:00) [10]

Ну а как вы тогда, посоветуете, я смотрел демку в ODAC, так там я могу записывать хоть метровые файлы, но какая-то фигнь, демка работает только когда ОДАК включена опция Net, а мне это не подходит


Reindeer Moss Eater   (2004-08-30 17:59:00) [11]

Тогда твой синтаксис INSERT никуда не годен.
Он не для полей BLOB.


Relaxxx   (2004-08-30 17:55:00) [12]

Помоему как раз для этого все и используют БЛОБ, а причем тут тип LONG я не догадываюсь, так как у меня тип поля BLOB!!!!!


Reindeer Moss Eater   (2004-08-30 17:40:00) [13]

Использовать адекватный тип данных. В первую очередь.


Reindeer Moss Eater   (2004-08-30 17:38:00) [14]

Тип LONG - устаревший тип данных для длинных строк.


Relaxxx   (2004-08-30 17:38:00) [15]

а что ж настроить то???


Falendysh   (2004-08-30 17:37:00) [16]

У меня была такая же проблема с MySQL. Надо просто настроить сервер БД - проблема там, а не в программе.


Наверх

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