OLE DB提供程序即使已注册也未注册错误

LCJ*_*LCJ 7 sql-server oledb

我有一台32位Windows 7机器.我试图通过在SQL Server 2012中创建链接服务器来访问Excel工作表.我收到以下错误.

消息7403,级别16,状态1,行1 OLE DB提供程序"Microsoft.ACE.OLEDB.12.0"尚未注册.

当我检查控制面板的程序和功能时,Microsoft Access数据库引擎2010可用.

需要纠正什么才能克服这个错误?

SQL

EXEC sp_addlinkedserver
@server = 'ExcelServer2',
@srvproduct = 'Excel', 
@provider = 'Microsoft.ACE.OLEDB.12.0',
@datasrc = 'D:\MyFTP\Jul19\FAILED\DCSDIM.xlsx',
@provstr = 'Excel 12.0;IMEX=1;HDR=YES;'

SELECT * FROM ExcelServer2...DCSDIM
Run Code Online (Sandbox Code Playgroud)

PROVIDERS

在此输入图像描述

A. *_*ion 1

从redis在服务器上安装64 位提供程序。

使用上述提供程序来调用 64 位可执行文件的 SQL Server。

本地计算机上使用哪个提供程序来执行 SSMS 并不重要。

Office11是Office 2003的内部名称。

Office12(适用于Office 2007)Office14(适用于Office 2010)

安装 Office 2010 的 redis 包后,您需要更改代码,如下所示:

EXEC sp_addlinkedserver
@server = 'ExcelServer2',
@srvproduct = 'Excel', 
@provider = 'Microsoft.ACE.OLEDB.14.0',
@datasrc = 'D:\MyFTP\Jul19\FAILED\DCSDIM.xlsx',
@provstr = 'Excel 14.0;IMEX=1;HDR=YES;'

SELECT * FROM ExcelServer2...DCSDIM
Run Code Online (Sandbox Code Playgroud)