powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
18 сообщений из 18, страница 1 из 1
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704122
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такая возможность без написания фильтра? Или уже готовые фильтры в IBExpert? Varchar в тип 0 или 1 конвертируется без проблем, в пользовательские ошибка.
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704126
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
А зачем ?
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704131
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad, потому как данные надо записывать в таблицу, в которой уже определен пользовательский тип blob, и эту таблицу нельзя менять. Т.е. нет возможности поставить там тип поля blob binary.
Может есть какая подробная литература по написанию фильтров? Из документации я понял только как объявить его.
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704170
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afordданные надо записывать в таблицу, в которой уже определен пользовательский тип blobВ чём проблемы ? Зачем фильтры ?

afordМожет есть какая подробная литература по написанию фильтров?В доке по IB6 вроде что-то было, но так не помню
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704179
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladВ чём проблемы ? Зачем фильтры ?
Штатные средства предполагают конвертацию между/из/в определенными типами BLOB: 0 (binary) и 1 (text).
Если я буду записывать данные в поле BLOB с неопределенным типом, например -3 (или присваивать текст, определенный BLOB) в переменную с таким типом, то получу ошибку "Filter not found to convert type 1 to type -3".
В документации об этом написано, что нужно самому писать фильтры, потом объявлять их, но без подробностей, типа смотрите в сообществах Firebird. Перерыл все что можно - скудно на фильтры в интернете.
Вот в этом то и проблемы...
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704189
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afordЕсли я буду записывать данные в поле BLOB с неопределенным типом, например -3 (или присваивать текст, определенный BLOB) в переменную с таким типом, то получу ошибку "Filter not found to convert type 1 to type -3".Речь о P-SQL или о клиентском коде (ISC API) ?
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704196
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afordЕсли я буду записывать данные в поле BLOB с неопределенным типом, например -3 (или
присваивать текст, определенный BLOB) в переменную с таким типом, то получу ошибку "Filter
not found to convert type 1 to type -3".

Так ты записывай сразу данные с типом -3, а не 1. В чём проблема-то?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704199
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aford,

объясни зачем тебе потребовались пользовательские подтипы BLOB? Просто они имеют смысл только если необходимо преобразовывать формат BLOB на лету, если нет, то практически всё что не текст можно записать в binary.

З.Ы. Ни где не видел примера фильтров, разве что в исходниках FB
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704201
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IB6 APIGuide
Working with Blob Data
Filtering Blob data
Writing an external Blob filter
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704204
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
SQL> create table t1 (id int, blb blob sub_type -5);
SQL>
SQL> insert into t1 values (1, 125);
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5
SQL>
SQL> insert into t1 values (1, '125');
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5
SQL>
SQL> insert into t1 values (1, cast('125' as blob sub_type 0));
SQL>
SQL> insert into t1 values (2, cast(3456 as blob sub_type 0));
SQL> set blob all;
SQL> select * from t1;

          ID               BLB
============ =================
           1              81:0
==============================================================================
BLB:
125
==============================================================================
           2              81:1
==============================================================================
BLB:
3456
==============================================================================
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704215
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladIB6 APIGuide
Working with Blob Data
Filtering Blob data
Writing an external Blob filter

уже что-то. Хорошо бы если бы примерчик кода лежал в firebird/examples
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704227
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Код: sql
1.
2.
3.
4.
5.
6.
7.
SQL> insert into t1 values (1, 125);
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5
SQL>
SQL> insert into t1 values (1, '125');
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5



Кстати, если со вторым случаем всё понятно, то с первым возникает вопрос почему сервер
воспринимает 125 как строку, а не как двоичное число.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704239
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> create table t1 (id int, blb blob sub_type -5);
SQL>
SQL> insert into t1 values (1, 125);
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5
SQL>
SQL> insert into t1 values (1, '125');
Statement failed, SQLSTATE = HY000
filter not found to convert type 1 to type -5
SQL>
SQL> insert into t1 values (1, cast('125' as blob sub_type 0));
SQL>
SQL> insert into t1 values (2, cast(3456 as blob sub_type 0));
SQL> set blob all;
SQL> select * from t1;



Dimitry SibiryakovТак ты записывай сразу данные с типом -3, а не 1. В чём проблема-то?


Не работает, та же самая ошибка
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704240
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afordНе работает, та же самая ошибка

Что "не работает"? isql? Так он и не должен. Ты в приложении пиши блоб -3-го типа.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704242
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисХорошо бы если бы примерчик кода лежал в firebird/examplesexamples\api\api9*.*
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704250
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЧто "не работает"? isql? Так он и не должен. Ты в приложении пиши блоб -3-го типа.

Пишу в редакторе IBExpert
Код: plsql
1.
insert into t1 values (cast('125' as blob sub_type 0));


в таблицу, где поле = blob sub_type -3
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704253
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Даже, если быть точнее,
Код: sql
1.
insert into t1 (blb) values (cast('125' as blob sub_type 0)); 
...
Рейтинг: 0 / 0
Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
    #39704325
aford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно будет
Код: sql
1.
insert into t1 (blb) values (cast('125' as blob sub_type binary));


Всем спасибо!
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Преобразовать blob (0) или blob text (1) в пользовательский blob (-1 - -32768)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]