![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery... [D5, Oracle]
tovSuhov © (2002-01-30 12:07:00)Посредством сабжа пишу в таблицу БЛОБ-овые данные. Пишется нормально, а вот когда пытаюсь их вычитать - выскакивает сообщение "Тип данных не поддерживается".
Вот кусок кода:
Form1.ADOQuery1.SQL.Clear;
Form1.ADOQuery1.SQL.Add (
"select * from mytablespace . myBLOBtable ");
Form1.ADOQuery1.Open; //тут и стопорится
Как же их вычитывать тогда?
skiph (2002-02-14 13:20:00) [1]to TovSuhov Кстати, как ты записываешь блобы, через запрос? У меня проблема, я из OLEContainer в MS SQL скинуть не могу.
ivans (2002-02-13 13:19:00) [2]Чё за бред вы тут пишите. Я пользую ADODataSet и работаю с MS SQL Server. Прекрасно читаются и пишутся BLOB-поля. Там есть тип поля TBlobField.
oname (2002-01-30 16:48:00) [3]Есть! Называется он TQuery. Но для работы с ним нужен BDE.
tovSuhov (2002-01-30 16:35:00) [4]НЕ ВЕРЮ!!! Не верю, что кроме как в Дельфи 6, нет удобных способов (компонентов) для работы с БЛОБами!!!
oname (2002-01-30 16:17:00) [5]Совсем уж корявый способ:
1.Написать хранимую процедуру, в которой:
1а.Прочитать кусок BLOB (например, 1000 байт) при
помощи DBMS_LOB.Read();
1б.Вставить прочитанное как строку в таблицу с полем
VARCHAR2(2000) используя функцию RAWTOHEX();
2. Из Delphi вызвать эту процедуру, затем выбрать строку из таблицы и при помощи функции Ord() преобразовать обратно в массив байтов.
Размер BLOB-поля можно получить при помощи функции DBMS_LOB.GetLength().
tovSuhov (2002-01-30 15:50:00) [6]А если не переходя...
Как еще можно выдернуть БЛОБ-поля?
oname (2002-01-30 15:21:00) [7]Перейди на Delphi6. Там поддерживается.
tovSuhov (2002-01-30 13:20:00) [8]Ну хорошо...
Тогда может кто подскажет, каким образом вычитывать BLOB-поля, используя ADO компоненты?