Как экспортировать данные из электронной таблицы Excel в таблицу Sql Server 2008 - PullRequest
43 голосов
/ 13 августа 2010

Я хочу импортировать данные из файла Excel - предположим, Excel 2003 / .xls - на Sql Server 2008.

Попытался добавить связанный сервер в драйвер доступа JET OLE DB, и, конечно, он не работает на 64-разрядной машине. Но когда я пытаюсь отбросить связанный сервер во время эксперимента, возникает другая ошибка, говорящая о том, что связанный сервер уже / все еще существует!

Я также пытался изменить драйвер Excel на 32-разрядный (инструмент regedit), но не уверен, что он что-то делает, появляется та же ошибка!

Еще несколько деталей: Скажем, Таблица1 в файле Excel имеет 5 столбцов. Я хочу сопоставить Database.dbo.Table1 с 5 столбцами снова, но с разными именами в таблице. Есть ли способ сделать даже такой импорт?

Ответы [ 4 ]

86 голосов
/ 13 августа 2010

В SQL Server Management Studio вы открываете обозреватель объектов, переходите в базу данных, в которую хотите загрузить данные, щелкните правой кнопкой мыши и выберите «Задачи»> «Импорт данных».

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

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

Обновление: да, да, да, вы можете делать все то, о чем постоянно спрашиваете - пытались ли вы хотя бы один раз запустить этот мастер ??

Хорошо, вот оно, пошагово:

Шаг 1: выберите источник Excel

enter image description here

Шаг 2: выберите целевую базу данных SQL Server

enter image description here

Шаг 3: выберите исходную рабочую таблицу (из Excel) и целевую таблицу в базе данных SQL Server; см. кнопку «Редактировать сопоставления»!

enter image description here

Шаг 4: проверить (и при необходимости изменить) сопоставления столбцов Excel со столбцами SQL Server в таблице:

enter image description here

Шаг 5: Если вы хотите использовать его позже, сохраните пакет служб SSIS на SQL Server:

enter image description here

Шаг 6: - успех! Это на 64-битной машине, работает как шарм - просто сделай это !!

2 голосов
/ 04 апреля 2012

Существует несколько инструментов, которые могут импортировать Excel в SQL Server.

Я использую DbTransfer (http://www.dbtransfer.com/Products/DbTransfer), чтобы сделать работу. Основное внимание уделяется передаче данных между базами данных и Excel, XML и т. Д.

Я уже пробовал метод openrowset и помощник по импорту / экспорту SQL Server. Но я нашел эти методы ненужными, сложными и подверженными ошибкам, в отличие от того, чтобы делать это с помощью одного из доступных специализированных инструментов.

1 голос
/ 06 декабря 2016

В качестве альтернативы, есть несколько веб-инструментов, которые преобразуют файлы Excel в файлы SQL.

https://sqlizer.io создаст файл определения таблицы, а затем все данные в виде операторов вставки, затем его можно будет просто импортировать в SQL Server Management Studio (Файл> Открыть> Файл ... в SQLSMS) - или в любую другую базу данных, совместимую с SQL.

Вот ее изображение:

SQLizer.io ready to convert xlsx to sql

1 голос
/ 12 августа 2015

В SQL Server 2016 мастер представляет собой отдельное приложение.( Важно : мастер Excel доступен только для в 32-битной версии мастера!).Используйте страницу MSDN для инструкций:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
—or—
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
—or—
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
—or—
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
—or—
In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

После этого она должна быть почти такой же (возможно, с небольшими изменениями в пользовательском интерфейсе), как в ответе @ marc_s.

...