当前位置: 代码迷 >> Sql Server >> SQL Server链接ACCESS
  详细解决方案

SQL Server链接ACCESS

热度:106   发布时间:2016-04-24 09:02:22.0
求助:SQL Server链接ACCESS
我在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" 的数据源对象。

  网上找了很多方法,试不出问题出在哪里。请高手指点一下!
------解决思路----------------------
SELECT CustomerID, CompanyName
   FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
      'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
      'admin';'',Customers);

--直接用语句连
------解决思路----------------------
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


链接服务器方法
  相关解决方案