Почему не выполняется следующий запрос:
select *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="\\comp1\share\base.mdb";User ID=admin;Password=;')...qwe
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
[OLE/DB provider returned message: The Microsoft Jet database engine cannot open the file '\\comp1\share\base.mdb'. It is already opened exclusively by another user, or you need permission to view its data.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
Хотя файл ни кем не открыт и к папке все имеют полный доступ
На сервер захожу под Windows NT Authentication
Здравствуйте, __Evgeniy_, Вы писали:
__E>Почему не выполняется следующий запрос:
__E>select *
__E>from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="\\comp1\share\base.mdb";User ID=admin;Password=;')...qwe
__E>Server: Msg 7399, Level 16, State 1, Line 1
__E>OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
__E>[OLE/DB provider returned message: The Microsoft Jet database engine cannot open the file '\\comp1\share\base.mdb'. It is already opened exclusively by another user, or you need permission to view its data.]
__E>OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
__E>Хотя файл ни кем не открыт и к папке все имеют полный доступ
__E>На сервер захожу под Windows NT Authentication
1)
Запуская следующее с Q.A. MS SQL Server 2000 сервера (комп Server)
USE pubs
GO
SELECT a.* FROM OPENROWSET
('Microsoft.Jet.OLEDB.4.0','\\kgp\c\ddx.mdb';'Admin';'',ddx_data) as a
получил ругательство с
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' reported an error.
[OLE/DB provider returned message: Файл '\\kgp\ito\ddx.mdb' не может быть открыт ядром базы данных Microsoft Jet. Файл уже открыт другим пользователем для монопольного доступа или требуется разрешение на просмотр данных.]
OLE DB error trace [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ].
2)
Запуская следующее с Q.A. MS SQL Server 2000 сервера (мой комп)
USE pubs
GO
SELECT a.* FROM OPENROWSET
('Microsoft.Jet.OLEDB.4.0','\\kgp\c\ddx.mdb';'Admin';'',ddx_data) as a
получил результат
Предполагаю, что запрос работает от имени SQL Servera — он под системным логином запускается, а на него нет доступа
к шаре ... ?
Здравствуйте, KGP, Вы писали:
KGP>Предполагаю, что запрос работает от имени SQL Servera — он под системным логином запускается, а на него нет доступа
KGP>к шаре ... ?
именно так и проистекает.
щаз вот примерно такая-же трабла в соседнем подразделении возникла.
копаем.
расшариванье с FullControl для Everyone не помогает.
админ прийдет — пусть думает как права доступа открыть :))
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, _MarlboroMan_, Вы писали:
MM>админ прийдет — пусть думает как права доступа открыть :))
думали мы думали...
получается, что единственный вариант это запуск сервака не под
системным аккаунтом, а под
юзеровским. но тут минус в том, что пароли иногда менять надо.
... << RSDN@Home 1.0 beta 6a >>
> думали мы думали...
> получается, что единственный вариант это запуск сервака не под системным аккаунтом, а под юзеровским. но тут минус в том, что пароли иногда менять надо.
У LocalSystem тоже есть логин. Грубо говоря, у него вид такой:
domain_name\computer_name$. Можно попробовать дать права этой учетной записи, возможно, получится.
Я испытывал немного другой сценарий: есть Windows-сервис, работающий под LocalSystem и обращающийся к удаленному SQL Server'у. В этом случае после заведения вышеописанного логина все прошло на ура.
Posted via RSDN NNTP Server 1.5 beta