Мне нужно импортировать ~ 50 000 документов Word (.doc
и .docx
) из одного каталога в таблицу базы данных SQL Server 2016, чтобы я мог использовать полнотекстовую индексацию и затем искать содержимое документов.
Поскольку это одноразовая задача, и база данных не потребуется долго, меня не интересует производительность или аргументы в пользу использования FILESTREAM
или FileTables.
Я только что создал базу данных с одной таблицей:
CREATE TABLE [dbo].[MyDocument]
(
[ID] INT IDENTITY(1,1) NOT NULL,
[DocumentName] NVARCHAR(255) NOT NULL,
[Extension] NCHAR(10) NOT NULL,
[DocumentContent] VARBINARY(MAX) NOT NULL,
CONSTRAINT [PK_MyDocument] PRIMARY KEY CLUSTERED ([ID] ASC)
)
Теперь я ищу способ поместить мои документы в таблицу. В Интернете есть множество примеров импорта отдельного документа в таблицу базы данных SQL Server с использованием OPENROWSET
, но они требуют от меня указать имя файла, что, очевидно, бесполезно для моих требований.
IЯ не могу поверить, что нет хорошо документированного и простого способа сделать это, но несколько часов поиска ничего не дали, и это заставляет меня сомневаться, что это даже возможно, но, конечно, это так?
Кто-нибудь может привести пример фрагмента T-SQL для импорта нескольких файлов в базу данных? Или предложить, как еще этого можно достичь?