2013-03-25 2 views
1

Я установил Office 2010 64 бит в Windows 7 64 бит. В Windows 7 также установлен SQL Server 2008.Как узнать причину разрешения поставщика OLE на SQL Server?

Затем я пытаюсь использовать Microsoft.ACE.OLEDB.12.0 для доступа к данным из файла excel с T-SQL.

Стараюсь T-SQL в SQL Server Mgmt Studio, со следующими вид запроса:

SELECT * 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\Temp\book1.xlsx;', 'SELECT * FROM [Sheet1$]') 

Если я начинаю SQL Server Mgmt Studio, с 'Запуск от имени администратора', это нормально. Я могу получить/вставить данные из/в файл Excel.

Если я начну Mgmt Studio, непосредственно (с моей учетной записи AD), я получаю ошибку, как:

OLE DB провайдер "Microsoft.ACE.OLEDB.12.0" для связанного сервера "(NULL)" возвращается сообщение «Unspecified error».
Msg 7303, Level 16, State 1, Line 1
Невозможно инициализировать объект источника данных поставщика OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)».

но на самом деле, моя учетная запись также является учетной записью администратора (она находится в группе локального администратора и группе администрирования AD).

Поскольку мне нужно запустить T-SQL, как OpenRowSet в коде, не знаете, как решить эту проблему.

Похоже, что OpenRowSet для этого случая подходит только для локального администратора для запуска MSSM.

Я пытаюсь запустить MSSM с другого компьютера и получил ту же ошибку, что и выше.

ответ

3

Придумайте это: войдите как решить эту проблему.

0

Попробуйте помещать файл Excel в том месте, к которому имеет доступ ваша учетная запись, не требуя прав администратора.

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

+0

Спасибо. Пробовал. Получено такое же сообщение об ошибке. – KentZhou