FB1.5 Вопрос по BLOB.
FB1.5 Вопрос по BLOB.
Здравствуйте.
Хотел поинтересоваться - возможно ли средствами FB решить следующую задачку...
Возможно ли написать процедуру, которая будет собирать из таблиц поля типа VARCHAR склеивать их и возвращать все собранное в виде BLOB. Т.е. возмножно ли в процедуре создать "псевдо" BLOB накидать туда чего то и вернуть?
Заранее спасибо за помощь.
Хотел поинтересоваться - возможно ли средствами FB решить следующую задачку...
Возможно ли написать процедуру, которая будет собирать из таблиц поля типа VARCHAR склеивать их и возвращать все собранное в виде BLOB. Т.е. возмножно ли в процедуре создать "псевдо" BLOB накидать туда чего то и вернуть?
Заранее спасибо за помощь.
Так. Ну это уже теплее. Т.е. все таки сущестует возможность реализовать необходимую мне штуку с помощью UDF? Хотелось бы по подробнее про это услышать.WildSery писал(а):Вопрос конечно интересный.kdv писал(а):нет. блоб должен где-то сохраняться.
Меня всегда интересовало, почему UDF может порождать временный блоб, ни к какой таблице не привязанный, а процедура нет.
Теоритически объем возвращаемых данных может быть сколь угодно большим, формируется он из простых строк, но при их конкатенации может получиться достаточно большой объем. Вот и была мысли собрать эту всю кучу в "псевдо BLOB" и выкинуть на клиенте.WildSery писал(а):Нет, тебе не пригодится._SRG_ писал(а):Т.е. все таки сущестует возможность реализовать необходимую мне штуку с помощью UDF?
UDF не работает с наборами данных.
Каков у тебя объём возвращаемых данных, почему строка не подходит? (ведь информация текстовая, я так понимаю)
Вам это кажется смешным? Мне - нет.kdv писал(а):а каким образом такое можно реализовать?b=a||c.которая будет собирать из таблиц поля типа VARCHAR склеивать их
Вопрос мой не с луны упал. Данную методику применял ранее, где в качестве СУБД выступал Oracle. Там была процедура которая собирала необходимые данные, формируя, в результате BLOB содержащий XML с данными (частенько - ОЧЕНЬ большого размера) все это возвращалось на клиента и сохранялось в файл. Именно поэтому возник вопрос о реализации аналогичного механизма в FB.
я ничего смешного тут не вижу. Вы пока теоретизируете, или все-таки хоть что-нибудь попробовали?Вам это кажется смешным? Мне - нет.
Хотя скорее всего из идеи долго чего-то склеивать в блоб вряд-ли что получится. Не совсем ясно, зачем это делать на сервере и пересылать клиенту, если клиент сам может сделать то же самое, причем в данном случае куда проще.
К сожалению, решить данную проблему на клиенте в моих условиях не возмно. Вопрос звучал - Возможно ли со стороны сервера собрать строки в BLOB и вернуть.kdv писал(а):я ничего смешного тут не вижу. Вы пока теоретизируете, или все-таки хоть что-нибудь попробовали?Вам это кажется смешным? Мне - нет.
Хотя скорее всего из идеи долго чего-то склеивать в блоб вряд-ли что получится. Не совсем ясно, зачем это делать на сервере и пересылать клиенту, если клиент сам может сделать то же самое, причем в данном случае куда проще.
Не выйдет._SRG_ писал(а):К сожалению, решить данную проблему на клиенте в моих условиях не возмно. Вопрос звучал - Возможно ли со стороны сервера собрать строки в BLOB и вернуть.
Даже в 2.1 можно напрямую работать с текстовыми блобами только до размера 32 килобайта.
Аргументируй, почему нельзя сделать на клиенте, и я возможно дам совет, хоть и проктологический, как можно-таки сделать этот блоб.
Ну почему все так категорично: Нет и всё.
Можно
. Связка процедуры с несложной UDF, которая собственно и приклеивает к BLOB'у очередной строковый кусочек должна работать... Правда я не уверен на счёт скорости работы и расхода памяти. Но опять же, можно "кэшировать" обращения к UDF до 32Кб в строковой переменной.
Можно

-
- Сообщения: 4
- Зарегистрирован: 10 авг 2005, 16:25
А выдавать на клиента построчно не подойдет ?_SRG_ писал(а):процедура которая собирала необходимые данные, формируя, в результате BLOB содержащий XML с данными (частенько - ОЧЕНЬ большого размера) все это возвращалось на клиента и сохранялось в файл. Именно поэтому возник вопрос о реализации аналогичного механизма в FB.
Вопрос решился ограничением собираемой строки <= VARCHAR(MAX_LEN).
Новая головоломка - http://forum.ibase.ru/phpBB2/viewtopic.php?t=3948
Новая головоломка - http://forum.ibase.ru/phpBB2/viewtopic.php?t=3948