powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Изменение поля BLOB
25 сообщений из 85, страница 1 из 4
Изменение поля BLOB
    #39519161
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Понадобилось хранить в БД битовое поле большой длины.
Написал UDF - прочитать значение бита и установить.
Чтение бита проходить на ура.
Запись бита валиттся с ошибкой

Invalid data type, length, or value.
function SET_BIT could not be matched.

Решил проверить UDF поставляемую с FIREBIRD.

update kl_value set bitset = string2blob('sdsdsdsdsds', bitset) where did = 106

получил тоже самое

Invalid data type, length, or value.
function STRING2BLOB could not be matched.

Подскажите - куда смотреть?

Firebird 2.5.7 Windows 10
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519167
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

нафига в Firebird 2.5 использовать STRING2BLOB он же и так нормально с блобами работает без прыжков в ширину. ИХМО хранить битовые маски в BLOB изврат какой-то. Какой максимальной длины может быть маска?
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519168
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Invalid data type, length, or value.
function STRING2BLOB could not be matched.

Подскажите - куда смотреть?В декларацию ф-ции, вестимо.
У которой один параметр, а не два.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519170
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
declare external function string2blob
varchar(300) by descriptor,
blob returns parameter 2
entry_point 'string2blob' module_name 'fbudf';
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519172
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

и чё ?
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519173
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис,

Сообщение целиком прочитайте, пжлст....
Ошибки выскакивает на моей функции.
String2Blob я привел в качестве примера поведения, абсолютно соотвествующего поведению на моей функции....
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519178
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

У Вас функция String2Blob работает?
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519185
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959> У Вас функция String2Blob работает?

У неё один параметр, а ты 2 передаёшь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519189
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959hvlad,

У Вас функция String2Blob работает?Она у всех работает уже больше 10 лет :)
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519192
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Понадобилось хранить в БД битовое поле большой длины.
Код: sql
1.
[VAR]CHAR CHARACTER SET OCTETS

подходит для этого гораздо лучше.
Если, конечно, хватает 32КБ
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519193
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов Рустам,

Теперь все понял... Спасибо.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519200
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Ну и как в этой строке читать и выставить битики?
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519212
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

17329111
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519224
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Ну и как в этой строке читать и выставить битики?Ну так UDF же писать умеем ?
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519232
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем писать UDF, если есть встроенные?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519237
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

они годятся максимум для BIGINT, а у автора битовый массив супердлинный
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519240
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,
Т.е. разговор шел о накладных расходах при работе с блобами? А принцип - один и тот же - UDF...
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519248
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. Действительно не влазят в BIGINT.

А по поводу character set octets - нужно подумать. Производительность должна быть повыше.

Все спасибо за советы.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519252
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Да. Действительно не влазят в BIGINT.

А в 3-4 BIGINT могут влезть?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519258
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Т.е. разговор шел о накладных расходах при работе с блобами?Блобы не любят частые апдейты.

bsa1959А принцип - один и тот же - UDF...На это тоже стоит посмотретьШавлюк Евгений 17329111 UDF я бы писал только для максимальной скорости (не факт, что это место вообще является критичным)
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519261
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Разговор ПОКА идет о 2000-3000 битах.
Из-за того что ПОКА не хотелось бы потом разгонять эти изменения на 10-20 рабочих мест и серваков.
Рабочее место тоже сорентировано на это.
Эта проблема возникла из-за того что часть обработки я решил переложить на сервак.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519264
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

Это разговор уже про тройку firebird. А я в самом начале написал - firebird 2.5.7.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519273
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

ну используй хранимые процедуры вместо хранимых функций
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519274
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Dimitry Sibiryakov,
Разговор ПОКА идет о 2000-3000 битах.
Из-за того что ПОКА не хотелось бы потом разгонять эти изменения на 10-20 рабочих мест и серваков.
Рабочее место тоже сорентировано на это.
Эта проблема возникла из-за того что часть обработки я решил переложить на сервак.
Не люблю битовые поля, особенно когда заранее не знаешь, сколько их.
А когда их №№ "подразумевают" конкретные экземпляры сущностей - просто кушать не могу, как я их не люблю.
...
Рейтинг: 0 / 0
Изменение поля BLOB
    #39519288
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959hvlad,

Это разговор уже про тройку firebird. А я в самом начале написал - firebird 2.5.7.Серьёзно ? Комбинация BIT_XXX, ASCII_XXX и SUBSTRING - это про 3-ку ?
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 1 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Изменение поля BLOB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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