none
Поиск по chm в хранимой процедуре RRS feed

  • Вопрос

  • Приветствую! Имеется скачанный с интернета классификатор ЕСКД в формате .chm (https://dwg.ru/dnl/12054).

    Мне нужно выполнить поиск по данному классификатору непосредственно в коде хранимой процедуры MS SQL Server 2008 R2 Standard. Точнее нужно найти название по коду классификационной характеристики и записать его в одну из таблиц.

    Подскажите пожалуйста, можно ли это сделать и как?


    2 января 2021 г. 22:43

Ответы

  • Искомые данные там хранятся в виде двумерных массивов на JavaScript.

    Осталось только записать содержимое этих массивов в БД, но как это сделать я не знаю, ибо с JavaScript не знаком.

    Если бы там использовались круглые скобки вместо квадратных, то можно было бы спокойно воткнуть это в sql-запрос....

    В нотепаде поиск и замена прекрасно работают, можно заменить скобки секунд за 10 если это позволит получить нужный формат данных.



    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа R2DDD 4 января 2021 г. 21:44
    3 января 2021 г. 22:31
    Модератор
  • Искомые данные там хранятся в виде двумерных массивов на JavaScript.

    Осталось только записать содержимое этих массивов в БД, но как это сделать я не знаю, ибо с JavaScript не знаком.

    Если бы там использовались круглые скобки вместо квадратных, то можно было бы спокойно воткнуть это в sql-запрос....

    В нотепаде поиск и замена прекрасно работают, можно заменить скобки секунд за 10 если это позволит получить нужный формат данных.



    This posting is provided "AS IS" with no warranties, and confers no rights.

    Спасибо за совет, помогло. Множеством insert запросов, по 999 строк удалось получить таблицу для классификатора в 81000 строк.
    • Предложено в качестве ответа Vector BCOModerator 5 января 2021 г. 8:17
    • Помечено в качестве ответа Vector BCOModerator 5 января 2021 г. 8:17
    4 января 2021 г. 21:47

Все ответы


  • Подскажите пожалуйста, можно ли это сделать и как?


    Приветствую.

    В чем суть проблемы?

    Вы хотите кто либо выполнил за вас вашу работу?


    Я не волшебник, только учусь. MCTS, CCNA. Если вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку "отметить как ответ" или проголосовать за "полезное сообщение". Disclaimer: Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть, без каких-либо на то гарантий. Блог IT Инженера, Яндекс Дзен, YouTube, GitHub, Facebook, TechNet Forum Team.

    3 января 2021 г. 14:45
    Модератор
  • Я просто не знаю как осуществить поиск по chm файлу в коде хранимой процедуры.

    У меня есть такая мысль: сохранить этот файл в БД, а затем через полнотекстовый поиск. Но я не знаю, даст ли это какой-то толк или нет, да и применим ли полнотекстовый поиск к chm сохраненному в varbinary(max)

    Пробовал декомпилировать chm и затем экспортировать полученные html таблицы в Excel (просто открыв html файл самим Excel и затем сохранив его как xls), но это не приносит желаемого результата, так как полученная таблица оказывается не полной: например ищу через ctrl+f код 467444, но результат не получаю. В тоже время если открыть сам chm и встроенным поиском поискать тот же код, то получаю требуемый результат. Из этого следует, что метод с декомпиляцией и экспортом в xls для дальнейшего импорта в БД не подходит.




    • Изменено R2DDD 3 января 2021 г. 15:14
    3 января 2021 г. 15:00
  • Никак в общем случае, данный файл не предназначен для SQL Server. Конечно же сохранять файл в базе в двоичном виде бесполезно. 

    Вместо этого вам следует создать нужную таблицу(ы) в базе.

    Если не найдете средств как это сделать автоматически (что судя по всему вы пытались, но не вышло), то сделайте это в ручную, например копируя каждую запись по одной. Можно задействовать несколько человек если надо, это ведь один раз сделать.

    Если хотите попробовать автоматизированный вариант, то я бы посоветовал смотреть как выглядит HTML. Скорее всего можно написать скрипт для извлечения из него номеров и текста.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    3 января 2021 г. 17:48
    Модератор
  • Искомые данные там хранятся в виде двумерных массивов на JavaScript.

    Осталось только записать содержимое этих массивов в БД, но как это сделать я не знаю, ибо с JavaScript не знаком.

    Если бы там использовались круглые скобки вместо квадратных, то можно было бы спокойно воткнуть это в sql-запрос....

    3 января 2021 г. 21:31
  • Искомые данные там хранятся в виде двумерных массивов на JavaScript.

    Осталось только записать содержимое этих массивов в БД, но как это сделать я не знаю, ибо с JavaScript не знаком.

    Если бы там использовались круглые скобки вместо квадратных, то можно было бы спокойно воткнуть это в sql-запрос....

    В нотепаде поиск и замена прекрасно работают, можно заменить скобки секунд за 10 если это позволит получить нужный формат данных.



    This posting is provided "AS IS" with no warranties, and confers no rights.

    • Помечено в качестве ответа R2DDD 4 января 2021 г. 21:44
    3 января 2021 г. 22:31
    Модератор
  • Искомые данные там хранятся в виде двумерных массивов на JavaScript.

    Осталось только записать содержимое этих массивов в БД, но как это сделать я не знаю, ибо с JavaScript не знаком.

    Если бы там использовались круглые скобки вместо квадратных, то можно было бы спокойно воткнуть это в sql-запрос....

    В нотепаде поиск и замена прекрасно работают, можно заменить скобки секунд за 10 если это позволит получить нужный формат данных.



    This posting is provided "AS IS" with no warranties, and confers no rights.

    Спасибо за совет, помогло. Множеством insert запросов, по 999 строк удалось получить таблицу для классификатора в 81000 строк.
    • Предложено в качестве ответа Vector BCOModerator 5 января 2021 г. 8:17
    • Помечено в качестве ответа Vector BCOModerator 5 января 2021 г. 8:17
    4 января 2021 г. 21:47