The OLE DB provider has not been registered, even if it is registered

I have a 32-bit Windows 7 machine. I'm trying to access an excel sheet by creating a linked server in SQL Server 2012. I get the following error.

Msg 7403, Level 16, State 1, Line 1 The OLE DB provider "Microsoft.ACE.OLEDB.12.0" is not registered.

When I checked the control panel programs and features, the Microsoft Access Database Engine 2010 is available.

What needs to be fixed to overload this error?

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 

SUPPLIERS

enter image description here

+7
source share
1 answer

On the server you need to install the 64-bit provider from redis in accordance with the program that you will use to call it, in this case SQL Server, which is a 64-bit executable file, does not matter which provider is installed on the local computer, which performs SSMS. Also note that Office11 is the internal name for Office 2003, Office12, which is for Office 2007 and Office14, which is most likely for Office 2010, after installing the redis package for Office 2010, you need to change the code as follows:

 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 
0
source

Source: https://habr.com/ru/post/1492721/


All Articles