Может кто-нибудь объяснить магию Opendatasource / Openrowset?

8

При извлечении информации из файла Excel (или базы данных ms-access) я обычно использую что-то вроде этого:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]

Иногда это работает. Иногда это не так.

Кто-нибудь знает руководство по настройке этого?

Я знаю о папке temp, я знаю о загрузке правильных драйверов, я знаю о расширенных свойствах, я знаю, что файл не открыт. Хотя иногда я все еще получаю -

Поставщик OLE DB «Microsoft.ACE.OLEDB.12.0» для связанного сервера «(null)» вернул сообщение «Unspecified error».

Я столкнулся с этой проблемой вчера. Я перезапустил свою машину - не работал. Затем перезапустил мой экземпляр снова и P00f! Волшебным образом это сработало.

Так что это мой вопрос - когда вы получаете удивительную «Неуказанную ошибку», что вы должны проверить, чтобы убедиться, что все звезды находятся в линии, чтобы это работало.

SqlSandwiches
источник

Ответы:

2

Проверьте Windows Event Viewer. Посмотрите журналы приложений, журналы безопасности и системные журналы. Если вы записали все очевидные вещи (и это звучит так, как будто вы это сделали), то это может быть что угодно. Папка файла может иметь безопасность домена Windows, и ваша машина может быть не в состоянии аутентифицироваться, например, на контроллере домена.

Брент Озар
источник