Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Андрей Усачёв Member Откуда: Рига, Латвия Сообщений: 128 |
SQL Server 2008 (10.60.2772) select * from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=\\SERVER2\path\file.xls', 'SELECT * FROM [Sheet1$]') as D Когда файл находится локально на самом сервере -- всё работает. Когда подключаюсь с аутентификацией SQL-сервера -- работает. Когда через Remote Desktop захожу на SQL-сервер и запускаю оттуда -- работает. Но когда я подключаюсь со своего компьютера с доменной аутентификацией, а файл находится не на SQL-сервере, я получаю ошибку: Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. The provider did not give any information about the error. Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)". На временный каталог пользователя, из-под кототорого запущен SQL-сервер, все права у Everyone. У этого пользователя, а также у меня есть все права на открываемый XLS-файл и все каталоги по пути к нему. В той комбинации, где запрос возвращает ошибку, нормально выполняется следующий запрос: exec master..xp_cmdshell 'dir "\\SERVER2\path\file.xls"' Мистика! |
7 сен 12, 18:07 [13132026] Ответить | Цитировать Сообщить модератору |
##?
Guest |
тут нет ни слова про права. ошибка не в этом. например, такое же можно получить, если обратиться к существующему файлу Аксесс, но указать неправильное имя таблицы. |
7 сен 12, 18:21 [13132090] Ответить | Цитировать Сообщить модератору |
nezhadnye_my
Guest |
если читаемый через openrowset файл Экселя кто-то перед этим открыл, то именно эта ошибка вываливается. закрываем файл, ошибка исчезает |
7 сен 12, 23:55 [13133140] Ответить | Цитировать Сообщить модератору |
Андрей Усачёв Member Откуда: Рига, Латвия Сообщений: 128 |
Файл никто не держит открытым: я один и тот же файл копирую на разные компьютеры и обращаюсь к нему SQL-сервером, а другие пользователи об этом файле не знают. По этой же причине не может быть указано неправильние название таблицы (рабочего листа Excel): на локальном компьютере в этом же файле этот же самый лист под этим же названием нормально находится. :( |
10 сен 12, 11:03 [13138669] Ответить | Цитировать Сообщить модератору |
имя сервера
Guest |
Андрей Усачёв, А если положить файл на тот же сервер, где лежит MS SQL и путь указать как C:\\..., ошибка возникнет? |
10 сен 12, 11:09 [13138740] Ответить | Цитировать Сообщить модератору |
Андрей Усачёв Member Откуда: Рига, Латвия Сообщений: 128 |
Нет, не возникнет. Я об этом написал в 3-й строке 1-го сообщения этой темы. |
10 сен 12, 17:05 [13141613] Ответить | Цитировать Сообщить модератору |
Евгений Валентинович
Guest |
как решили проблему? |
3 апр 13, 14:21 [14131241] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Андрей Усачёв Member Откуда: Рига, Латвия Сообщений: 128 |
Никак не решил. Сейчас создам новую тему, гдн опишу проблему более точно. |
2 мар 15, 14:29 [17331752] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |