prakash.chakrala Ответов: 2

Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" не был зарегистрирован.


Всем привет,
Я выполняю следующий запрос, но он выдает ошибку, говоря, что "
The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered.
"
SELECT
  * FROM
  OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=D:\New\Albany_ActPlan_2008_1Record.xlsx;HDR=YES;IMEX=1',
  'SELECT * FROM [Albany_ActPlan_2008_1Record]') AS POND;



может ли кто-нибудь помочь мне решить эту проблему?

Спасибо и с уважением
Пракаш.ч

maneavnash

проверьте, добавляете ли вы это Microsoft.ACE.OLEDB.12.0.dll в проекте или нет.
путем добавления ссылок

prakash.chakrala

Привет после добавления ссылки я получаю еще одну ошибку, говорящую о том, что "поставщик OLE DB 'Microsoft.ACE.OLEDB.12.0' не может использоваться для распределенных запросов, поскольку поставщик настроен на работу в однопоточном квартирном режиме."

Maciej Los

Нам нужны более подробные сведения: версия Windows и SQL Server. В обоих случаях с информацией о том, является ли это 32-или 64-битная версия.

2 Ответов

Рейтинг:
1

Sachin Kakade

Проверьте, что это сработает

Exec для процедуры sp_addlinkedserver
@server = 'Server1',
@srvproduct = 'Excel',
@provider = 'Microsoft.ACE.OLEDB.14.0',
@datasrc = 'D:\New\Albany_ActPlan_2008_1Record.xlsx;HDR=да;IMEX=1',
@provstr = 'Excel 14.0;IMEX=1;HDR=да;'

Выберите * на сервере Server1...Имятаблицы


Рейтинг:
0

Mike Meinz

Информация, которую я нашел в этой публикации на MSDN, помогла мне решить эту проблему:
Как исправить ошибку - "поставщик 'microsoft.ace.oledb.12.0' не зарегистрирован на локальном компьютере"[^]


prakash.chakrala

Привет теперь я получаю следующую ошибку

Поставщик OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)" вернул сообщение "неопределенная ошибка".
Msg 7303, Уровень 16, Состояние 1, Строка 1
Не удается инициализировать объект источника данных поставщика OLE DB "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(null)".