Я использую Excel для сбора и настройки данных, а затем импортирую их в SQL Server 2012 для хранения.
До сих пор я использовал мастер импорта и экспорта SQL Server, но постоянно настраивать его вручную неудобно. Поскольку я использую Express, конечно, он не позволит мне сохранять или даже просматривать фактические команды для передачи данных.
Я попытался настроить связанный сервер в соответствии с как использовать Excel со связанными серверами SQL Server и распределенными запросы, но получите следующую ошибку:
Связанный сервер был создан, но не прошел тест подключения. Вы хотите сохранить связанный сервер?
Исключение возникло при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
Не удается инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "FLTST".
Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "FLTST" вернуло сообщение "Неизвестная ошибка". (Microsoft SQL Server, ошибка: 7303)
Я подумал, что, возможно, проблема была в номере версии Excel, поскольку веб-страница с 2005 года, поэтому я попытался:
- Excel 8.0 (Excel 2002), как показано на странице
- Excel 12.0 (Excel 2007), который, похоже, использует мастер
- Excel 14.0 (Excel 2010) что у меня есть на самом деле
Все они дали мне одинаковые результаты.
Затем я попробовал распределенный запрос, как показано на странице Импорт файла Excel в SQL. Server Express (опять же с разными вариантами строки провайдера)
USE ExTest
SELECT * INTO TstTbl FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 14.0;Database=c:\ExTest.xlsm', [Contacts])
go
Что дает мне следующую ошибку:
Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)" вернул сообщение "Неопределенная ошибка".
Сообщение 7303, уровень 16, состояние 1, строка 3
Не удается инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "(null)".
Вместо того, чтобы идти на SQL Server и извлекать данные, должен ли я оставаться в Excel и отталкиваться от них?
Что я делаю неправильно?
PS: Пожалуйста, не говорите мне преобразовать его в файл csv! Я стараюсь делать меньше шагов, а не больше!