|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Не могу решить задачку! Задана таблица в БД. Сервер 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 заноситься файл. Необходимо получить все строки, содержащие подстроку. Может кто-нибудь подсказать решение? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2018, 23:24 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
1. Используй BLOB SUBTYPE 1 - он именно для текста. 2. Вместе с п.1 - предикат CONTAINING. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 00:25 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMVМожет кто-нибудь подсказать решение? Убираем из задачи Firebird, таблицу и поле. Остаётся файл, который можно грепать до полного удовлетворения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 01:18 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Любезный, и что я получу? что в этом Поле есть подстрока или нет. А мне надо найти все строки в этом BLOBe, содержащие подстроку поиска.... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 13:48 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, файл лежит физически на другой сетевой машине и не в общем доступе. Что трепать будем-то, до полного удовлетворения? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 13:51 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMV> мне надо найти все строки в этом BLOBe, содержащие подстроку поиска.... Пишите ХП (ну или EB) и парсите. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 13:57 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Любезный, и еще про тип 1... а что искать можно только в типе 1? а в типе 0 уже нельзя? Мне кажется что серверу все равно где искать и что... Если можно искать, то сервер будет искать... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:06 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMVфайл лежит физически на другой сетевой машине и не в общем доступе. Что трепать будем-то, до полного удовлетворения? Сохраняем содержимое блоба в файл на локальной машине. Грепаем до полного удовлетворения. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:21 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Спасибо, я тоже до этого дошел... Видимо по другому никак, буду разбираться. Нашел старенькую UDF-ку textparser. Правда доков нет... У Вас случаем ничего нет по этой теме? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:26 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMV> Нашел старенькую UDF-ку textparser. ... У Вас случаем ничего нет по этой теме? Над текстовым БЛОБом можно выполнять все те же операции, что и над строкой. В 2.5 достаточно встроенных строковых функций для решения поставленной задачи. Правда, с т.з. производительности это может быть не лучшим решением, так что лучше будет писать свою специализированную UDF, которая вернёт необходимый результат. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:30 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один. С утра пришел, запустил поиск и можно в отпуск ехать... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:30 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Большое спасибо, буду пробовать ... Тему пока не закрываю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:33 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMVDimitry Sibiryakov, а кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один. Внутри в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:35 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMVа кто Вам сказал, что файл маленький? У нас есть файлы и по 8 гиг и не один. С утра пришел, запустил поиск и можно в отпуск ехать... Уверяю тебя, это будет быстрее, чем маяться фигнёй в ХП. PS: Этот геморрой на свою голову вы выдумали сами, нарушив первую нормальную форму. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 14:40 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Ну как... Парсить 8 гиг БЛОБа, в UDF, c утреца... Не знаю чего там у вас и как, но, даже если нет доступа к файлу напрямую - всё равно разумнее парсить файл, не задействуя при этом БД, кроме как посредника/пусковика (UDF это позволяет) и, возможно, хранение результатов, если нужно их сохранять (UDF это тоже позволяет). Хотя это, конечно, кривая архитектура и костыль, следовало бы задуматься, возможно, о каком-то отдельном приложении, которое бы делало всю нужную работу по парсингу и пр. и запускалось по расписанию в удобное время или висело в сервисах. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 15:16 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMV, хоть тут практически на все уже ответили, дополню, что в BLOB нет никаких "строк", текстовый он или нет. Сервером блоб рассматривается как единый кусок данных. Соответственно, поиск подстроки в этом блобе прекращается как только найдено первое соответствие. Чтобы искать подстроку в каких-то там строках, надо этот блоб считать на клиента, в набор строк, и дальше искать на подстроку подстрочно. Теоретически и udf можно написать, конечно, которая будет выдавать блоб, содержащий те самые "строки". ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2018, 19:56 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а 1НФ у Вас о чем говорит? У меня например о нарушении атомарности. А у Вас? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 14:29 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMV, автор запихнул строки, которыми он оперирует, в один столбец. Вот и нарушение атомарности. Это то же самое, как, например, запихнуть ФИО в одну строку, а потом устраивать траходром с выделением Ф, И и О. При проектировании БД одними из этапов являются сохранение данных и извлечение данных. И если с извлечением проблемы, то надо менять сохранение. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 15:17 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
kdvSMV, автор запихнул строки, которыми он оперирует, в один столбец. Вот и нарушение атомарности. Это то же самое, как, например, запихнуть ФИО в одну строку, а потом устраивать траходром с выделением Ф, И и О. При проектировании БД одними из этапов являются сохранение данных и извлечение данных. И если с извлечением проблемы, то надо менять сохранение. Я даже больше скажу. 90% обращений к базе - чтения. Поэтому местами имеет смысл идти на некоторый гемор с сохранением, если это существенно облегчает чтение. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 18:33 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
Я вообще не понимаю, зачем пихать в базу текстовые файлы по 8Гб? Какой там с них толк? Если так уж надо с ними работать, то лучше их хранить в отдельных папках в оригинальном виде, а в базе держать ссылки на них, ну и какие-то атрибуты (описания, даты и т.п.) для идентификации. Обрабатывать большие текстовые файлы средствами СУБД какой-то мазохизм... Для этого есть куча обычных программ. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 19:27 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
d7i, извините, а кто сказал про текстовые файлы? файлы могут быть и AVI и TIFF и Image и т.д. Как-то так... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 20:16 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
kdv, про автора не понял. Какой автор? Если про меня, то пример вначале темы (5 отдельных столбцов с PK в первом). Так кто и что запихнул в один столбец? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 20:22 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
А какие строки/подстроки можно искать в AVI и TIFF и пр.? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 20:27 |
|
firebird поиск всех строк в blob по подстроке
|
|||
---|---|---|---|
#18+
SMV, Тем более, какую подстроку там искать? Я, к примеру, также держу некоторые бинарные и текстовые файлы в БД (конечно, не по 8Гб, максимум 1-2Мб). Всякие там шаблоны, процедуры, звуки и т.д. И подстроку иногда в них ищу (преимущественно в текстовых) через функцию locate. Первое вхождение, мне этого достаточно... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2018, 20:46 |
|
|
start [/forum/topic.php?fid=40&fpage=35&tid=1561193]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 312ms |
total: | 460ms |
0 / 0 |