SQL Server Связанный сервер с Microsoft Access
Я попытался использовать связанные серверы в SQL Server 2008, выполнив следующие действия для доступа к таблице Microsoft Access 2003.
EXEC sp_addlinkedserver access1t, 'OLE DB Provider for Jet', 'Microsoft.Jet.OLEDB.4.0', 'C:\tester.mdb'
EXEC sp_addlinkedsrvlogin access1t, FALSE, Null, Admin, Null
GO
CREATE VIEW TI001APCE1265 AS SELECT * FROM access1t...Table1
Однако я получаю ошибку:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "access1t" returned message "Unspecified error".
Msg 7303, Level 16, State 1, Procedure TI001APCE1265, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "access1t".
В моей базе данных доступа нет пароля / имени пользователя, но, глядя на документы, которые я понял, мне пришлось использовать sp_addlinkedsrvlogin, как указано выше. Я пробовал это без входа в систему либо.
Я все еще получаю ту же ошибку - что происходит?!
Спасибо всем
Отладочный вывод
Массив ( [0] => Массив ( [0] => 42000 [SQLSTATE] => 42000 [1] => 7303 [код] => 7303 [2] => [Microsoft][Собственный клиент SQL Server 10.0][SQL] Сервер] Невозможно инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "access1265293168". [Message] => [Microsoft] [Собственный клиент SQL Server 10.0][SQL Server] Невозможно инициализировать объект источника данных поставщика OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "access1265293168".) [1] => Массив ( [0] => 01000 [SQLSTATE] => 01000 [1] => 7412 [code] => 7412 [2] => [Microsoft][Собственный клиент SQL Server 10.0][SQL Server] Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "access1265293168" вернул сообщение "Ошибка не указана". [ message] => [Microsoft] [Собственный клиент SQL Server 10.0][SQL Server] Поставщик OLE DB "Microsoft.Jet.OLEDB.4.0" для связанного сервера "access1265293168" возвратил сообщение "Unspecified error".))
1 ответ
Вы пробовали с именованными параметрами?:
EXEC sp_addlinkedserver
@server = 'access1t',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = 'C:\tester.mdb'
GO
Может быть, вам просто нужно имя вашего сервера в одинарных кавычках 'access1t'
,
[Имеет ли ваш вошедший в систему пользователь разрешение на доступ к корню диска C:? ]