0

Я хочу написать строки результата запроса в Excell файл:Экспорт SQL QueryResult в Excell файл на сервере без установки Управление

INSERT into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;Database=C:\temp\testing.xlsx;', 
'SELECT Id,CompanyName FROM [Sheet1$]') 
select Id,CompanyName from tbl_Company 

Но при выполнении этого запроса следующее сообщение об ошибке:

Msg 7302 , Уровень 16, состояние 1, строка 3 Невозможно создать экземпляр поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».

Что сделано перед запуском этого кода:

1 - я установил "2007 Office System Driver: Компоненты подключения данных"

2 - Выполненная конфигурации сценария для использования Excell:

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'Ad Hoc Distributed Queries', 1; 
GO 
RECONFIGURE; 
GO 

3 - Сменить учетную запись для учетной записи SQL Server на местную учетную запись

4 - добавлено разрешение на полный доступ на папка Excell для учетной записи локального

5 - перезапущен SQL Service

Но моя проблема остается

Сервер: 2008

MS Office не установлен на сервере

SQL Server Windows Server 2014 64bit SP1

ответ

0

У меня была ошибка:

я должен запустить этот скрипт конфигурации

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 

также вы должны быть уверены, чтобы установить 64-битную версию Access Database Engine (если ваш сервер SQL является 64-битной).