Мы работаем над проектом, который требует ежедневного импорта данных из электронной таблицы Excel. Данные будут импортированы из предопределенного шаблона и, что мы думаем, сначала мы загрузим данные во временную таблицу и выполним операцию очистки (удаление ненужной информации, добавление новых строк в родительскую таблицу и получение их FK и т. Д.).
- Мне нужно знать, есть ли какой-либо инструмент или утилита, которая может уменьшить наши усилия.
- Каков наилучший способ вставки массовых записей из разных источников (в основном из таблиц Excel)?
sql-server
bulk
import
kodvavi
источник
источник
Ответы:
SSIS - способ пойти на это. Если вы никогда ранее не создавали пакет и знаете, что ваши исходные файлы (читайте также: электронные таблицы) всегда будут одинаковыми, вы можете использовать мастер импорта / экспорта SQL Server. В SSMS щелкните правой кнопкой мыши базу данных и выберите Задачи> Импорт (или экспорт) данных ...
Откроется мастер, который проведет вас по шагам выбора файлов источника / назначения, а также таблиц назначения (может создавать таблицы, если они еще не существуют). Вы должны будете указать, какие столбцы куда, но мастер довольно прост. Когда вы закончите, он попросит вас запустить или сохранить пакет (или сделать оба). Сохраните пакет. Это сохранит ваш пакет в формате .dtsx, если вы решите сохранить его в файловой системе. Другой вариант - сохранить пакет в самом SQL Server, который затем сохранит их в системной базе данных msdb.
После сохранения пакета вы можете создать задание агента SQL для периодического запуска этого пакета (вы указываете расписание), чтобы вы всегда могли загрузить свои таблицы с помощью служб SSIS. Если вы хотите узнать больше о SSIS, посетите бесплатные вебинары моей компании (мы рассмотрим весь стек BI) на PragmaticWorks
источник
Вот один пример того, как импортировать данные из Excel в SQL Server. Одна из основных проблем - убедиться, что вы используете компонент преобразования данных между Excel и SQL Server и выполняете преобразование из NVARCHAR в VARCHAR, так как Excel обрабатывает данные как NVARCHAR.
http://www.mssqltips.com/tip.asp?tip=1393
источник
Используйте службы интеграции SQL Server . Это так просто.
Мы не можем показать вам, как здесь: это слишком общее
источник
Я не отказался бы от чего-либо
mr. gbn,Sankar Reddy,SQLChicken
. Но я хотел бы сказать, что существует простой способ импортировать таблицу Excel в SQL с помощью «OPENROWSET» TSQL.Например, чтобы импортировать
user
лист Excel вTestDB
базе данных. Предположим, что я уже создал[user]
таблицу вTestDB
базе данных. Тогда простой openrowset TSQL будет упомянут нижеПримечание. Я пишу этот TSQL в среде SQL Server 2012. Для каждого SQL сервера openrowset
OLEDB
провайдер будет разным. Пожалуйста, проверьтеOLEDB
ссылку сервер-> поставщик поддерживается для этой версии сервера SQL. В моем случае это такACE.OLEDB.12.0
. Перед импортом убедитесь, чтоAllow inprocess
проверено или нет этогоMICROSOFT.ACE.OLEDB.12.0
провайдера. Это надо так проверятьПримечание: - Испытано в производственной среде. Но в вашем случае без тестирования в тестовой среде. Не запускайте напрямую в производственной среде.
источник