在Access数据库上的SQL Server中作为链接服务器运行查询

时间:2016-07-22 19:41:18

标签: sql-server ms-access

我一直试图解决这个问题大约半天。我一直在尝试在SQL Server 2014中的Access数据库上运行一个非常简单的查询。

查询:

select * from plantsT

我的尝试。

我试图运行

SELECT *
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'\\path\MasterDatabase.accdb';
'';
'', PlantsT);

错误讯息:

  

无法创建OLE DB提供程序的实例" Microsoft.Jet.OLEDB.4.0"对于链接服务器"(null)"。

我已经尝试了MSDN

上的所有选项

同样的错误。

我曾尝试安装Access 2007驱动程序。

我试图链接为链接服务器。我能够使用此代码链接到访问文件"

DECLARE @AccessFileName nvarchar(32);
DECLARE @FilePath nvarchar(max);
DECLARE @CombinedPath nvarchar(max);

SET @AccessFileName = N'MasterDatabase.accdb';
SET @FilePath = N'Y:\';
SET @CombinedPath = @FilePath + @AccessFileName;

IF  EXISTS (
     SELECT srv.name 
     FROM sys.servers srv 
     WHERE srv.server_id != 0 
     AND srv.name = N'MasterDatabase' ) 
BEGIN
     EXEC master.dbo.sp_dropserver 
          @server=N'MasterDatabase'
END

EXEC master.dbo.sp_addlinkedserver 
     @server = N'MasterDatabase',  
     @provider = N'Microsoft.ACE.OLEDB.12.0',  
     @srvproduct = N'Access2007', 
     @datasrc= @CombinedPath

我尝试连接到具有相同路径的测试数据库,也没有运气。 我已检查权限并与所有人共享该文件夹。

我检查并确保在执行服务器上安装了Access。

如何在此数据库上运行查询?

我刚刚发现我认为这是错误的位级驱动程序请告诉我如何修复或解决。

0 个答案:

没有答案