Главная страница
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.038 c
4-1108454861
Morf
2005-02-15 11:07
2005.03.27
Как найти значение в памяти любого приложения?


8-1102816081
I m A
2004-12-12 04:48
2005.03.27
Пунктирная линия


3-1109151523
Nur_Ali
2005-02-23 12:38
2005.03.27
регистрация базы данных на IBЕxpert


1-1110820262
hamster
2005-03-14 20:11
2005.03.27
Registry


1-1110625305
iffi
2005-03-12 14:01
2005.03.27
Окно поверх всех других!