求助:SQL Server链接ACCESS

zhumeng459 2015-05-28 09:52:48
  我在Win2008 R2(64位,未装Office)的SQL Server 2008R2上,用链接数据库链接了另外一台电脑(Win2003,32位)上的ACCESS数据文件:
  
EXEC master.dbo.sp_addlinkedserver @server = N'RTX_ACC', @srvproduct=N'ACCESS', @provider=N'Microsoft.ACE.OLEDB.12.0', @datasrc=N'\\rtx\rtxdb.mdb'

  
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'RTX_ACC',@useself=N'False',@locallogin=N'sa',@rmtuser=N'admin',@rmtpassword=NULL 


  链接完成后,在Win2008 R2上用操作系统的本地管理员用户(SQLS\Administrator)查询该链接数据库正常,但是用sa查询的时候出现异常提示:

链接服务器"RTX_ACC"的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 返回了消息 "Microsoft Access 数据库引擎无法打开文件“\\rtx\rtxdb.mdb”或向其写入数据。它已经被其他用户以独占方式打开,或者您没有查看和写入其数据的权限。"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "RTX_ACC" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的数据源对象。

  网上找了很多方法,试不出问题出在哪里。请高手指点一下!
...全文
368 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhumeng459 2015-05-30
  • 打赏
  • 举报
回复
  谢回复!   我是用2楼的方法连的,只是SQL2008R2上没有“Microsoft.Jet.OLEDB”,所以我用了“Microsoft.ACE.OLEDB.12.0”。结果出现了所述的权限问题。   因为要多处调用,所以还是想用链接服务器的方法连。
中国风 2015-05-28
  • 打赏
  • 举报
回复
EXEC sp_addlinkedserver 
   @server = 'SEATTLE Mktg', 
   @provider = 'Microsoft.Jet.OLEDB.4.0', 
   @srvproduct = 'OLE DB Provider for Jet',
   @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'
GO
链接服务器方法
中国风 2015-05-28
  • 打赏
  • 举报
回复
SELECT CustomerID, CompanyName FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb'; 'admin';'',Customers); --直接用语句连

22,295

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧