2015-04-23 6 views
1

Я пытаюсь импортировать данные из файла excel в таблицу SQL Server. Я получаю эту ошибку «Внешняя таблица не в ожидаемом формате (Microsoft Office Access Database Engine)» Я использую Microsoft SQL Server 2012 и Excel 2007. Я пробовал мастер импорта и экспорта Microsoft SQL Server. Затем я выбрал Microsoft Excel в качестве источника данных, выбрал имя файла и выбрал версию excel. Затем я получил вышеупомянутое сообщение об ошибке.Импорт данных в таблицу SQL Server из Excel

+2

Как вы импортируете его? Через волшебника? Вы выбрали «Источник Excel»? Нам нужна дополнительная информация. –

+0

Как Access получил посередине этого? Я думал, что вы импортируете данные в sql из Excel? –

+0

http://stackoverflow.com/questions/375991/import-excel-spreadsheet-columns-into-sql-server-database.Недостаточно информации, если вы используете мастер, убедитесь, что у вас есть типы данных, длины и правильный движок Jet. –

ответ

1

Обнаружил, что это связано с файлом excel. Перед открытием файла excel я получил это сообщение об ошибке «Файл, который вы пытаетесь открыть .xls, отличается от указанного расширением файла. Убедитесь, что файл не поврежден и находится из надежного источника перед открытием файла». Открыл его и скопировал его содержимое и создал из него новый файл excel. Затем я использовал этот файл для импорта в мастер. Я указал Microsoft Excel как источник с именем файла и Microsoft excel 2007 как версию. Для назначения я выбрал SQL Server Native client 11.0, имя сервера и базу данных. Я выбрал отображение изменений для сопоставления полей между листом excel и целевой таблицей. После запуска мастера он передал данные в целевую таблицу на сервере sql.

1

Убедитесь, что в книге Excel нет пароля (и если он ее удалит). Я получал такую ​​же ошибку, и это исправило это.

0

У меня была эта проблема с файлом xsls (Excel 2007). Мастер правильно определил версию, но с ошибкой «не в ожидаемом формате».

Я не уверен, в чем был источник ошибки. Я подозреваю, что в электронной таблице были ссылки или ссылки, которые были недействительными.

Я скопировал содержимое листа, которое меня интересовало, и вставил в новый пустой лист. Я сохранил его, а затем открыл его в мастере импорта и не имел проблем с импортом.

0

Я выяснил, что проблема заключалась в том, что лист Excel был в формате .xls, и я использовал Excel 2010 и SQL Server 2014, поэтому решение состояло в том, чтобы просто преобразовать таблицу в .xlsx, а затем снова запустить мастер, выбрав Excel в качестве источника данных, который автоматически выбирает Exel 2007 в качестве версии Excel для источника данных и который решил проблему, так как мастер работает плавно.

Поэтому нет необходимости копировать содержимое листа в новую таблицу.

надеюсь, что это поможет кому угодно!

0

В моем случае я получал эту ошибку при импорте данных из трех листов одновременно. Затем я выбираю только один лист, и он работал. Затем я выбираю два других листа, и они тоже работали, поэтому иногда вы можете просто импортировать листы отдельно или дать ему второй шанс. Это может помочь кому-то.

0

Моя проблема заключалась в том, что моя таблица excel не имела определенного именованного диапазона. Как только я создал именованный диапазон в моем файле excel, я смог его импортировать.

0

Вы должны сохранить файл Excel в нижней версии, это может быть версия Excel Excel. После сохранения файла теперь вы можете выполнить передачу данных SQL.

Gene

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