Подключение файлов MS Excel — различия между версиями
Материал из Oktell
(Новая страница: «Наверх В данной статье описывается пример подключения Excel-файла sample.xlsx…») |
|||
Строка 15: | Строка 15: | ||
'''Шаг 3.''' Чтобы прилинковать Excel файл выполните следующие запросы в ''SQL Server Management Studio'' | '''Шаг 3.''' Чтобы прилинковать Excel файл выполните следующие запросы в ''SQL Server Management Studio'' | ||
− | exec sp_addlinkedserver @server = 'XlsLnkSrv', @srvproduct = 'ACE 12.0', @provider = 'Microsoft.ACE.OLEDB.12.0', @datasrc = 'C:\Sample.xlsx', @provstr = 'Excel 12.0; HDR=Yes' | + | exec sp_addlinkedserver @server = 'XlsLnkSrv', |
+ | @srvproduct = 'ACE 12.0', | ||
+ | @provider = 'Microsoft.ACE.OLEDB.12.0', | ||
+ | @datasrc = 'C:\Sample.xlsx', | ||
+ | @provstr = 'Excel 12.0; HDR=Yes' | ||
где | где |
Версия 08:34, 30 сентября 2014
В данной статье описывается пример подключения Excel-файла sample.xlsx на примере сервера MSSQL 2008 SP3 x64.
Шаг 1. Для начала работы скачайте провайдера Microsoft.ACE.OLEDB.12.0 по ссылке [1].
Если у вас 64-битная версия SQL Server используйте установочный файл AccessDatabaseEngine_x64.exe.
Шаг 2. Для установки провайдера используйте запуск файла через командную строку с ключом /passive.
C:\AccessDatabaseEngine_x64.exe /passive
Шаг 3. Чтобы прилинковать Excel файл выполните следующие запросы в SQL Server Management Studio
exec sp_addlinkedserver @server = 'XlsLnkSrv', @srvproduct = 'ACE 12.0', @provider = 'Microsoft.ACE.OLEDB.12.0', @datasrc = 'C:\Sample.xlsx', @provstr = 'Excel 12.0; HDR=Yes'
где
- XlsLnkSrv - название связанного сервера
- C:\Sample.xlsx - абсолютный путь к требуемому Excel-файлу
Считать данные можно с помощью команды
select * from openquery (XlsLnkSrv, 'Select * from [Sheet1$]')
ВНИМАНИЕ: При возникновении ошибки Cannot get the column information from OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" выполните следующий запрос:
USE [master] GO EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1 GO EXEC master . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1 GO