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:? ]

Другие вопросы по тегам