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

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

чтение BLOB SUB_TYPE TEXT в переменную VARCHAR в ХП [D7, FireBird 1.52]


Вольный Стрелок ©   (2005-02-28 18:44:00) 

Собственно, сабж.
Для иллюстрации - есть таблица с 2 полями: VARCHAR(30) и BLOB
Делаю в ХП:
DECLARE VARIABLE cOptValue VARCHAR( 32765 );
...
FOR SELECT opt_name, opt_value FROM Options
WHERE opt_name LIKE 'Т%'
INTO :cOptName, :cOptValue
DO
BEGIN
 n = 1;
END

Компилируется замечательно, но при выполнении ругается Overflow occurred during data type conversion. Сonversion error from string "BLOB".
В чем загвоздка-то, не пойму. С поле opt_value хранятся короткиестроки. Или вообще нельзя так делать?


Johnmen   (2005-03-01 12:40:00) [1]

Мне они неизвестны.
Можешь сходить на sql.ru по IB/FB/YA. Там недавно был в точности такой же вопрос. Поищи... Или задай...


Вольный Стрелок   (2005-03-01 12:36:00) [2]

Неутешительно...
Что значит "почти совместимые"? Или да, или нет.
Но я так и не услышал - других вариантов (без UDF) нет?


Johnmen   (2005-03-01 12:17:00) [3]

Да-да, забыл уже про сабж...:)
В общем, длл в руки, УДФ на шею, и вперёд...


Вольный Стрелок   (2005-03-01 12:10:00) [4]

в сабже написано


Johnmen   (2005-03-01 11:44:00) [5]

А типы "почти" совместимые.
Кстати, как объявлено блоб поле ?


Вольный Стрелок   (2005-03-01 11:41:00) [6]

Т.е. все-таки иначе никак?
И почему тогда компилируется? Проверка типов должна же существовать на этапе компиляции...


Johnmen   (2005-03-01 11:18:00) [7]

Не надо городить УДФ. Возьми готовую библиотеку.
Стандартное сообщение.


Вольный Стрелок   (2005-03-01 11:03:00) [8]

Иначе никак? Не хочется ради одного запроса городить UDF...

И почему тогда в ошибке overflow? Какое может быть переполнение?


Johnmen   (2005-03-01 09:33:00) [9]

>Просто пытаюсь прочитать текстовый блоб в строковую переменную.

UDF


Вольный Стрелок   (2005-02-28 19:55:00) [10]

Я о клиентской программе не говорил не слова, нету ее. Ругается, видимо, сервер при выполнении ХП через IBExpert.
Вся ХП уже дана - в ней только этот FOR SELECT и все, остальное я повыкидывал, локализуя ошибку. Логика ХП здесь не важна. Просто пытаюсь прочитать текстовый блоб в строковую переменную.
А этот "недовопрос" формулируется так - почему записать из строковой переменной в поле блоб можно, а считать - вот такой болт?
Повторюсь, все происходит внутри ХП, никаких входных и выходных параметров.


DSKalugin   (2005-02-28 19:20:00) [11]

а что выдает ошибку? Клиентская программа или ИБЭксперт?
вообщето давай всю ХП и если ошибка в программе - кусок кода тоже

непонятно что делает вообще эта ХП и с БЛОБом в частности
Как можно дать ответ на этот недовопрос?


Вольный Стрелок   (2005-02-28 18:54:00) [12]

И еще одно наблюдение - в отладчике IBExpert проходит нормально. Видимо, он выполняет ХП, пооператорно передавая на сервер (т.е. отдельные команды), а результаты выборок сохраняет где-то у себя в буфере.


Наверх

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