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

问题描述 投票:8回答:1

我有一台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

PROVIDERS

sql-server oledb
1个回答
0
投票

在服务器上,您需要根据用于调用它的程序从redis安装64位提供程序,在这种情况下,SQL Server是64位可执行文件,在本地计算机上安装的是哪个提供程序并不重要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
© www.soinside.com 2019 - 2024. All rights reserved.