Главная страница
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.036 c
3-1109078238
Arazel
2005-02-22 16:17
2005.03.27
Не могу подключить клиент к серверу ? MSSQL


14-1110195108
MU
2005-03-07 14:31
2005.03.27
FreeVCS ->JediVCS


4-1108617530
r.o.o.t
2005-02-17 08:18
2005.03.27
Файловая система


3-1109061452
}|{yk
2005-02-22 11:37
2005.03.27
Индекс и длинное строковое поле в FB


1-1110350299
SkyRanger
2005-03-09 09:38
2005.03.27
DLL - Plugin