Импортирование документов Word в SQL ServerИсточник: realcoding
Импортирование документов Word в SQL Server
Вопрос: Я хочу загрузить документы Microsoft Word в базу данных SQL Server, проиндексировать их и впоследствии использовать в реляционных запросах. Как это сделать? Ответ: SQL Server позволяет выполнять импорт документов Word несколькими различными способами. Мы рассмотрим наиболее общие методики. Перед тем, как начать загрузку документов, нужно создать столбец, в котором будут храниться данные типа Image. После этого импортировать документы в SQL Server можно с помощью утилиты командной строки textcopy.exe, которая считывает image-файлы в базу данных. Чтобы получить представление о работе этой утилиты, наберите textcopy /? . Другой подход для загрузки документов Word в SQL Server заключается в написании программного кода с использованием интерфейса ADO Stream. Пример подобного кода приводится в статье Microsoft "HOWTO: Access and Modify SQL Server BLOB Data by Using the ADO Stream Object" ( Как вариант, можно переместить двоичные данные в SQL Server. В статье Microsoft "HOWTO: Retrieve and Update a SQL Server Text Field Using ADO" ( SQL Server 2000 поставляется с примером кода, демонстрирующим, как перемещать бинарные данные. Для просмотра этого кода обратитесь в каталог %Program Files%\Microsoft SQL Server\80\Tools\DevTools\Samples\ado, куда помещаются примеры программ с дистрибутивного компакт-диска SQL Server 2000. Затем перейдите в каталог Visual Basic (VB) для поиска подкаталога Samples. В примере Employee обратите внимание, как именно используется функция FillDataFields(). Для индексации документов Word в версии SQL Server 7.0 (и более поздних версиях) используется компонент полнотекстового поиска, в котором реализована смесь технологий индексации больших объемов текстовых данных и данных типа Image. При выполнении полнотекстового поиска нужно указать, файлы какого типа хранятся в столбце image и какой фильтр нужен для извлечения полезной информации из бинарных данных. Дополнительная информация об использовании полнотекстового поиска приводится в SQL Server Books Online (BOL) . Надо иметь в виду, что индексирование документов Word не приводит к созданию таблиц, состоящих из ключевых слов документов Word. Однако в процессе индексирования таких файлов появляется возможность учесть документы Word при обращении к функциям поиска. Ниже приводятся способы извлечения ключевых слов из набора данных: Используйте OLE Automation для чтения заданных ключевых слов. Сохраните эти ключевые слова в реляционных таблицах одновременно с загрузкой документа. Используйте OLE Automation для открытия документа и его сохранения в текстовом формате (.txt). Для извлечения слов, представляющих особый интерес, обработайте содержимое файла специально написанным обработчиком - программой, которая считывает каждое слово документа, устраняет "шум" (например, предлоги, союзы) и сохраняет значащие уникальные слова вместе со счетчиком повторения каждого такого слова. Выполните поиск для вновь проиндексированных документов на предмет обнаружения заданных слов, после чего внесите эти слова в реляционные таблицы. SQL Server 2000 располагает несколькими утилитами и интерфейсами, с помощью которых можно быстро загрузить документы в базу, выполнить поиск нужной информации и извлечь двоичные документы Microsoft Office |