Страница 1 из 1
Определение размера jpg хранимого в blob из ХП
Добавлено: 06 мар 2007, 16:27
Leons
FireBird 1.5.3
Храним изображения в формате jpg в blob полях.
Необходимо написать ХП, которая выдала бы все записи, где размер изображения больше 15кб. (Если возможно, еще ширину и высоту изображения)
Много времени убил на поиски, так и не нашел, как определить
выручайте [-o<
Добавлено: 06 мар 2007, 16:42
kdv
а при чем тут ХП???
берешь какую-нибудь либу UDF с функцией blobsize, и пишешь
select * from table
where blobsize(field) > 15000
www.ibase.ru/d_udf.htm
ширину и высоту - это если из jpeg можно вытащить такую информацию (однозначный формат), то можно доп. udf написать. Но я бы, если вам это надо часто, посоветовал просто добавить соответствующие столбцы в таблицу.
Много времени убил на поиски, так и не нашел, как определить
подумай над этим, и над моим ответом. непонятно, где тут было убивать время.
Добавлено: 06 мар 2007, 16:44
WildSery
rFunc UDF Library
Функция B_Total_Length
Добавлено: 06 мар 2007, 16:49
Leons
Эта ХП будет запущена один раз. Пробежаться по всем записям и все изображения, которые больше 15кб или размеры больше допустимых, обработать в клиенте, приводя к нужному формату и записать в БД.
Как я понял из вашего ответа... Прийдеться все основные проверки делать в "Клиенте". А хотелось выбирать только те записи, которые необходимо 100% обработать.
спс. Так и сделаем
Добавлено: 06 мар 2007, 17:16
WildSery
Leons писал(а):Как я понял из вашего ответа... Прийдеться все основные проверки делать в "Клиенте".
Прочитай, пожалуйста, что такое UDF (User Defined Functions) и почему никакого отношения к клиенту они не имеют.
Добавлено: 06 мар 2007, 22:27
kdv
при чем тут опять ХП... ну нету в SQL функций для определения размера блоба.
я ведь привел ТЕКСТ ЗАПРОСА, из которого ясно следует, что обработка идет НА СЕРВЕРЕ. При чем тут клиент?
что-то вообще, даже читать перестали текст из 8 строк...
Добавлено: 12 мар 2007, 12:34
Leons
Я все понял) Просто с UDF не хочу связываться. Пока что не было ситуации, когда без UDF нельзя был обойтись.
Добавлено: 12 мар 2007, 14:16
kdv
а вот теперь возникла. потом, было бы с чем "связываться". Подключить udf не дольше минуты. Если это одноразовая операция, то "отключить" можно еще быстрее.