4

我尝试通过执行以下操作来访问 Microsoft Access 2003 表来使用 SQL Server 2008 中的链接服务器。

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。我也试过没有登录。

位我仍然得到同样的错误 - 这是怎么回事?!

谢谢大家

调试输出

[消息] => [Microsoft][SQL Server Native Client 10.0][SQL Server]链接服务器“access1265293168”的 OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”返回消息“未指定错误”。) )

4

1 回答 1

4

您是否尝试过使用命名参数?:

EXEC sp_addlinkedserver 
   @server = 'access1t', 
   @provider = 'Microsoft.Jet.OLEDB.4.0', 
   @srvproduct = 'OLE DB Provider for Jet',
   @datasrc =  'C:\tester.mdb'
GO

可能您只需要用单引号括起来的服务器名称'access1t'

[您的登录用户是否有权访问C:驱动器的根目录?]

于 2010-02-04T14:53:58.150 回答