2015-02-25 2 views
0

Я ищу наиболее оптимальное решение о том, как импортировать мой файл excel в базу данных SQL Server в виде таблицы на постоянной основе (т.е. ежедневно). Мой файл excel относительно большой , около 100 столбцов в поперечнике и в настоящее время около 8000 строк. Размер столбца останется фиксированным, но количество строк будет увеличиваться каждый день примерно на дополнительные 50-200 строк. Я думал, что хранимая процедура, привязанная к SQL Agent Agent Jobs, сделала бы трюк, но затем решила использовать что-то более простое, как код ниже и просто добавьте таблицу, как нужно. Я также читал в пакетах SSIS, но, возможно, это было слишком много для того, что мне нужно делать.Импорт динамического файла Excel в SQL Server 2014

SELECT * INTO XLImport3 ОТ OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0', 'Источник данных = C: \ Test \ xltest.xls; Extended Properties = Excel 8.0') ... [Клиенты] $

Я все еще очень много нового для SQL Server, но буду благодарен за любые советы/отзывы?

+0

Как только строки находятся в базе данных, что вы делаете с ними? – animateme

+0

Я предполагаю, что вы хотите создать приложение для загрузки excel в базу данных или просто вручную обновить excel? .... if is second, почему вы не используете инструменты управления sql? если вам нужен пример, попробуйте найти сначала в Интернете, я сделаю то же самое, если я не могу найти и ответить, я опубликую его. –

+0

Я бы использовал SSIS, потому что я знаком с ним, и потому что его можно легко построить, если позже потребуется больше функциональности. И btw, лист с фиксированными столбцами и переменным числом строк - это не то, что большинство людей думает как «динамический» файл excel. –

ответ

1

Возможно, самым простым способом было бы создать пакет SSIS с использованием параметра «Импорт данных» в SSMS. Вы найдете эту опцию, щелкнув правой кнопкой мыши базу данных в SQL Management Studio, откройте подменю «Задачи», а внизу вы найдете «Импорт данных». Он откроет мастер для импорта данных, который в основном генерирует SSIS, который вы можете сохранить для последующего использования и планирования с использованием задания агента SQL.

Если вы не создали таблицу для импорта, мастер также позволит вам сгенерировать ее на основе вашего файла Excel. Если вам нужна генерация таблицы, я предлагаю вам пройти через мастер, не сохраняя пакет ssis, вместо этого запускайте напрямую.

После создания таблицы сгенерируйте SSIS импорта с помощью того же мастера. На этот раз вы сможете выбрать опцию delete all rows in destination.

1

Электронная таблица звучит так, будто она растет каждый день, когда новые строки добавляются на дно. Вы можете импортировать данные в промежуточную таблицу (которая была усечена перед импортом), а затем использовать команду слияния SQL для перемещения новых/измененных строк в фактическую рабочую таблицу. В противном случае вы получите тысячи дублированных строк и, в конечном итоге, огромную таблицу.

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