powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird поиск всех строк в blob по подстроке
43 сообщений из 43, показаны все 2 страниц
firebird поиск всех строк в blob по подстроке
    #39619871
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Не могу решить задачку!
Задана таблица в БД. Сервер Firebird 2.5
CREATE TABLE BLOB_TBL (
ID UHIR48 DEFAULT 'НЕТ' NOT NULL,
SAME_FILE BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL,
NAME_FILE STR_1024 DEFAULT 'НЕТ',
EXT_FILE STR_16 DEFAULT 'НЕТ',
NOTE_FILE STR_256 DEFAULT 'НЕТ'
);
Заполняю таблицу параметрами. В BLOB заноситься файл. Необходимо получить все строки, содержащие подстроку. Может кто-нибудь подсказать решение?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619879
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Используй BLOB SUBTYPE 1 - он именно для текста.
2. Вместе с п.1 - предикат CONTAINING.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619888
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVМожет кто-нибудь подсказать решение?

Убираем из задачи Firebird, таблицу и поле. Остаётся файл, который можно грепать до
полного удовлетворения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619951
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Любезный, и что я получу? что в этом Поле есть подстрока или нет. А мне надо найти все строки в этом BLOBe, содержащие подстроку поиска....
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619952
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Dimitry Sibiryakov, файл лежит физически на другой сетевой машине и не в общем доступе. Что трепать будем-то, до полного удовлетворения?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619955
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV> мне надо найти все строки в этом BLOBe, содержащие подстроку поиска....

Пишите ХП (ну или EB) и парсите.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619958
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Любезный, и еще про тип 1... а что искать можно только в типе 1? а в типе 0 уже нельзя? Мне кажется что серверу все равно где искать и что... Если можно искать, то сервер будет искать...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619961
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVфайл лежит физически на другой сетевой машине и не в общем доступе. Что трепать будем-то,
до полного удовлетворения?

Сохраняем содержимое блоба в файл на локальной машине. Грепаем до полного удовлетворения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619962
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Гаджимурадов Рустам, Спасибо, я тоже до этого дошел... Видимо по другому никак, буду разбираться. Нашел старенькую UDF-ку textparser. Правда доков нет... У Вас случаем ничего нет по этой теме?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619963
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV> Нашел старенькую UDF-ку textparser. ... У Вас случаем ничего нет по этой теме?

Над текстовым БЛОБом можно выполнять все те же операции, что и над строкой.
В 2.5 достаточно встроенных строковых функций для решения поставленной задачи.
Правда, с т.з. производительности это может быть не лучшим решением, так что лучше
будет писать свою специализированную UDF, которая вернёт необходимый результат.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619964
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Dimitry Sibiryakov, а кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один. С утра пришел, запустил поиск и можно в отпуск ехать...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619965
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Гаджимурадов Рустам, Большое спасибо, буду пробовать ... Тему пока не закрываю.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619966
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVDimitry Sibiryakov, а кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один.

Внутри в базе?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619969
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVа кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один. С утра
пришел, запустил поиск и можно в отпуск ехать...

Уверяю тебя, это будет быстрее, чем маяться фигнёй в ХП.

PS: Этот геморрой на свою голову вы выдумали сами, нарушив первую нормальную форму.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39619979
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как... Парсить 8 гиг БЛОБа, в UDF, c утреца...
Не знаю чего там у вас и как, но, даже если нет
доступа к файлу напрямую - всё равно разумнее
парсить файл, не задействуя при этом БД, кроме
как посредника/пусковика (UDF это позволяет)
и, возможно, хранение результатов, если нужно
их сохранять (UDF это тоже позволяет).

Хотя это, конечно, кривая архитектура и костыль,
следовало бы задуматься, возможно, о каком-то
отдельном приложении, которое бы делало всю
нужную работу по парсингу и пр. и запускалось по
расписанию в удобное время или висело в сервисах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620031
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV,

хоть тут практически на все уже ответили, дополню, что в BLOB нет никаких "строк", текстовый он или нет. Сервером блоб рассматривается как единый кусок данных. Соответственно, поиск подстроки в этом блобе прекращается как только найдено первое соответствие.
Чтобы искать подстроку в каких-то там строках, надо этот блоб считать на клиента, в набор строк, и дальше искать на подстроку подстрочно.
Теоретически и udf можно написать, конечно, которая будет выдавать блоб, содержащий те самые "строки".
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620130
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Dimitry Sibiryakov, а 1НФ у Вас о чем говорит? У меня например о нарушении атомарности. А у Вас?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620142
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV,

автор запихнул строки, которыми он оперирует, в один столбец. Вот и нарушение атомарности. Это то же самое, как, например, запихнуть ФИО в одну строку, а потом устраивать траходром с выделением Ф, И и О.
При проектировании БД одними из этапов являются сохранение данных и извлечение данных. И если с извлечением проблемы, то надо менять сохранение.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620171
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvSMV,

автор запихнул строки, которыми он оперирует, в один столбец. Вот и нарушение атомарности. Это то же самое, как, например, запихнуть ФИО в одну строку, а потом устраивать траходром с выделением Ф, И и О.
При проектировании БД одними из этапов являются сохранение данных и извлечение данных. И если с извлечением проблемы, то надо менять сохранение.

Я даже больше скажу. 90% обращений к базе - чтения. Поэтому местами имеет смысл идти на некоторый гемор с сохранением, если это существенно облегчает чтение.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620188
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще не понимаю, зачем пихать в базу текстовые файлы по 8Гб?
Какой там с них толк?
Если так уж надо с ними работать, то лучше их хранить в отдельных папках в
оригинальном виде, а в базе держать ссылки на них, ну и какие-то атрибуты
(описания, даты и т.п.) для идентификации.
Обрабатывать большие текстовые файлы средствами СУБД какой-то мазохизм...
Для этого есть куча обычных программ.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620200
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
d7i,
извините, а кто сказал про текстовые файлы? файлы могут быть и AVI и TIFF и Image и т.д. Как-то так...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620202
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
kdv, про автора не понял. Какой автор? Если про меня, то пример вначале темы (5 отдельных столбцов с PK в первом). Так кто и что запихнул в один столбец?
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620205
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какие строки/подстроки можно искать в AVI и TIFF и пр.?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620210
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV,
Тем более, какую подстроку там искать?
Я, к примеру, также держу некоторые бинарные и текстовые файлы в БД (конечно, не по 8Гб, максимум 1-2Мб).
Всякие там шаблоны, процедуры, звуки и т.д.
И подстроку иногда в них ищу (преимущественно в текстовых) через функцию locate.
Первое вхождение, мне этого достаточно...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620212
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iконечно, не по 8Гб

И в этом ты очень предусмотрителен, поскольку на пороге в четыре гигабайта некоторых
оптимистов ждут весьма забавные грабли.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620217
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Гаджимурадов Рустам, ну например геопривязки изображений, различные характеристики аппаратной части и т.д. Короче медиа файлы, кроме медиа информации, содержат много чего другого не менее интересного...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620218
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
Dimitry Sibiryakov, грабли будут у того кто не знает как на них не наступать... а предел в 4 гига уже давно не предел. Просто надо уметь работать с большими даннми, ну и конечно хорошую аппаратную часть...Кстати хороший эффект дает применение технологии FAILMAPPING-а, даже когда на машинке мало памяти...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620270
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVFAILMAPPINGВ точку. По Фрейду.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620417
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVпро автора не понял. Какой автор? Если про меня, то пример вначале темы (5 отдельных столбцов с PK в первом). Так кто и что запихнул в один столбец?
автор - автор топика, т.е. SMV. Про "запихнул в столбец" у меня вполне ясно написано, прошу перечитать 21284176 .
"строки в один столбец" - разумеется в столбец BLOB, ведь вопрос ведь об этом?
Определение первой нормальной формы рекомендую освежить в памяти.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620490
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
kdv, извините, а кто сказал про текстовые файлы? файлы могут быть и AVI и TIFF и Image и т.д. Как-то так... Ну а если поиск у Вас ассоциируется только со строками, это уже Ваши проблемы. Серверу по барабану, что в BLOBe. Могут быть любые данные. И искать в них можно все, что угодно. И Ваш опус про 1НФ в этой связи не актуален. Перед тем как других учить, прочтите и разберитесь в условиях задачи, а потом уже рассуждайте о том что сделал автор.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620493
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV...., а кто сказал про текстовые файлы? ....
Ну не знаю как у других а у меня это
SMV....Необходимо получить все строки , содержащие подстроку. ....
почему-то ассоциируется именно с текстовыми файлами
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620498
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVСерверу по барабану, что в BLOBe.

Вот именно. Сервер принимает блоб как неделимое целое, хранит как неделимое целое и отдаёт
по требованию как неделимое целое. Дробить на какие-то части и искать что-то в этих частях
- с неделимым целым не работает по определению.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620501
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMVфайлы могут быть и AVI и TIFF и Image и т.д. Как-то так.
ну тогда какие там еще "строки"? Кроме того, не бывает таких функций, которые возвращают, например, множество смещений на искомую подстроку. Даже в Дельфи таких нет - Pos() возвращает только одно число, место первого нахождения подстроки.
Это надо писать процедуру или execute block, где в цикле будет вызываться position.
SMVСерверу по барабану, что в BLOBe. Могут быть любые данные.
Спасибо, что просветили! Видимо, ответы вы не читаете 21283277
SMVПеред тем как других учить, прочтите и разберитесь в условиях задачи
а вы эту задачу внятно описали, да? неужели? :-)
SMVИ Ваш опус про 1НФ в этой связи не актуален.
Возможно. Но вы сами написали про "строки". А "строка" - это вполне определенная сущность.

p.s. "опус" про 1НФ не мой, он из учебников, и я эти учебники не цитировал.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620504
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV,

в ХП мультипоиск по BLOB это изврат. Работать будет очень медленно. И никакая UDF вам в этом не поможет, разве что внешняя ХП, но это только в 3.0
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620516
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> И никакая UDF вам в этом не поможет, разве что внешняя ХП, но это только в 3.0

С чего вдруг UDF не поможет? И чем внешняя ХП будет лучше, чем UDF ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620519
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спор перешел в теоретическую плоскость...
Чтобы развеяться, анекдот от anekdotov.net:

Как отбирать сотрудников в ИТ-компанию:
нужно взять сложную головоломку, собрать ее наполовину и предлагать кандидатам собрать ее до конца.
В зависимости от результата:
— кандидат собрал головоломку правильно и до конца — специалист идет в отдел разработки;
— кандидат сломал головоломку в процессе сборки — специалист идет в отдел тестирования;
— кандидат разобрал головоломку до нуля — специалист идет в отдел анализа;
— кандидат сказал, что наполовину собранная головоломка и так выглядит неплохо — специалист идет в отдел внедрения.
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620521
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

внешняя UDF может вернуть только скалярный результат. Можно конечно лепить всякие ухищрения в виде перечисления смещений в длинную строку, но потом это всё равно придётся парсить.
Я так понял автору нужно найти все позиции подстроки в блобе. Вызов множества POSITION в цикле по BLOB тот ещё ад
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620541
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.03.2018 14:09, Симонов Денис пишет:
> Вызов множества POSITION в цикле по BLOB тот ещё ад

и SUSPEND'ить, SUSPEND'ить, SUSPEND'ить...
до полного удовлетворения!

зы: а сакральный тезис "КГ/АМ" ещё не звучал в топеге?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620549
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, АМ уже пытались сказать, в разных формах,
а в чем суть КГ пока не очень понятно. Я пока
услышал, что он собирается искать подстроки
с тегами в 8-гиговых медиа-файлах, после чего
вчитываться как-то расхотелось.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620556
SMV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SMV
Гость
kdv, "Но вы сами написали про "строки". А "строка" - это вполне определенная сущность..." и все, на этом Ваши знания окончились? А про строки по дальности и азимуту Вы слышали? Или например про строчную развертку? и там и там строка, но абсолютно разного назначения. Поэтому не надо подводить теорию не понимая сути...
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620559
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я ещё 10 лет назад сказал касаемо изысканий аффтара: 6494329
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620561
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV> А про строки по дальности и азимуту Вы слышали?

ИМХО, топик изжил себя, пора закрывать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
firebird поиск всех строк в blob по подстроке
    #39620591
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SMV,

совсем берега попутал... Но на юношеский задор непохоже.
Короче, бородой трясти не надо, тут не только у вас борода есть.
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird поиск всех строк в blob по подстроке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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