Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];

Вниз

чтение 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.037 c
1-1110102377
malamba
2005-03-06 12:46
2005.03.27
переход по узлам в TreeView - какие-то заморочки


1-1110540318
Separator
2005-03-11 14:25
2005.03.27
Отслеживание печати на принтер


1-1110517914
seregka
2005-03-11 08:11
2005.03.27
Сохранение изменений в готовом exe


14-1110399678
Cobalt
2005-03-09 23:21
2005.03.27
Вирус на Дельфи


1-1111013071
Morrison
2005-03-17 01:44
2005.03.27
Как организовать запрос пароля?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский