Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

чтение BLOB SUB_TYPE TEXT в переменную VARCHAR в ХП   Найти похожие ветки 

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

Собственно, сабж.
Для иллюстрации - есть таблица с 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 хранятся короткие строки. Или вообще нельзя так делать?


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

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


 
DSKalugin ©   (2005-02-28 19:20) [2]

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

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


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

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


 
Johnmen ©   (2005-03-01 09:33) [4]

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

UDF


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

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

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


 
Johnmen ©   (2005-03-01 11:18) [6]

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


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

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


 
Johnmen ©   (2005-03-01 11:44) [8]

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


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

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


 
Johnmen ©   (2005-03-01 12:17) [10]

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.042 c
14-1109932975
Danilka
2005-03-04 13:42
2005.03.27
Еще чуть-чуть про демократию.


1-1110441078
lipskiy
2005-03-10 10:51
2005.03.27
Глючит ImageList


3-1109064228
Aleksandr.
2005-02-22 12:23
2005.03.27
Не могу отладить создание таблицы в yaffil!


14-1110452824
1008
2005-03-10 14:07
2005.03.27
Есть ли у Mac и Unix что-то общее?


4-1108543060
Шурик Ш
2005-02-16 11:37
2005.03.27
Переменная среды TEMP