2015-03-28 13 views
1

У меня есть несколько 100 файлов excel, которые недостаточно нормализованы для эффективного импорта в таблицы моей базы данных. Трудно найти информацию, но из того, что я видел, можно индексировать файлы xlsx с помощью FTS. Я действительно не ищу для этого альтернативную базу данных, поскольку это одно время, которое не получит новые данные.Полнотекстовый поиск файлов Excel

Можно ли сделать это с помощью FTS, и если бы это было возможно, кто-то указал бы мне в правильном направлении, так как информация, которую я нашел в msdn, довольно расплывчата.

Спасибо.

enter image description here

ответ

1

FTS является особенностью в SQL Server, данные, которые вы хотите создать FTS для нужд в базе данных SQL Server.

Excel, находящийся в Excel, а не на SQL Server, вы не сможете создавать FTS для своих листов Excel.

Но если вы импортируете эти данные на SQL Server, тогда вы сможете использовать функции FTS, до тех пор, к сожалению, FTS не является для вас вариантом.

+0

So фильтры в этой статье https: // msdn.microsoft.com/en-us/library/ms142499.aspx не для загрузки данных из excel? –

+0

В этой статье рассказывается о том, есть ли у вас документы, хранящиеся в базе данных SQL Server (varbinary), вы можете включить FTS для поиска документов. –

+0

Итак, если я создал таблицу и импортировал документы в виде двоичных файлов, тогда я мог бы использовать полнотекстовый поиск по содержимому? –

2

Я сделал что-то подобное с помощью BULK. Я предлагаю взглянуть у него

http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file

Как это работает данные Excel могут быть приняты в виде текстового файла. Каждый столбец разделяется символом ";" и каждую строку на «\ n» вы можете затем использовать BULK для сканирования через ваш лист excel и вставки его в таблицу.

Обратите внимание, что все значения, полученные из BULK, являются текстовыми значениями. Поэтому, если ваша таблица содержит значения int, например, вам понадобится временная таблица.

CREATE TABLE #TEMPORARYTABLE (

) # создает таблицу, которая существует только до тех пор, пока отключиться от сервера SQL. Всех значений в этой таблице должны быть nvarchars

Вы можете вставить в свою реальную таблицу #TEMPORARYTABLE и CAST значения NVARCHAR к Int значения или то, что вам нужно

+0

Проблема в том, что файлы excel скрытно сформированы –

+0

Я отредактировал свое сообщение, объяснив, как из опыта, который у меня был с ним, можно просканировать файлы excel. Если данные в ваших файлах excel все испорчены, я не могу больше помочь @bumble_bee_tuna. – micbobo

+0

Проблема в том, что это не традиционные сетки X, Y, есть несколько листов с несколькими подрешетками, которые не нормализуются эффективно –

Смежные вопросы