proveedor 'microsoft.ace.oledb.12.0' no está registrado

543 views
Skip to first unread message

Carlos Admirador

unread,
Aug 10, 2022, 2:25:31 AM8/10/22
to AltNet-Hispano

Utilizo SSMS 18 (instalado en C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\) para usar el Import Wizard para importar un fichero Excel xlsx en una base de datos en Microsoft Sql Server 2017. 

Microsoft SQL Server 2017 (RTM-CU28) (KB5008084) - 14.0.3430.2 (X64)   Dec 17 2021 14:30:27   Copyright (C) 2017 Microsoft Corporation  Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor) 

SSMS solo está disponible como una aplicación de 32 bits para Windows.

Aparece el error:

"el proveedor 'microsoft.ace.oledb.12.0' no está registrado en el equipo local. (system.data)".


Tengo esos providers, entre otros, 


(New-Object System.Data.OleDb.OleDbEnumerator).GetElements()

SOURCES_NAME        : Microsoft.ACE.OLEDB.12.0
SOURCES_DESCRIPTION : Microsoft Office 12.0 Access Database Engine OLE DB Provider

SOURCES_NAME        : Microsoft.ACE.OLEDB.16.0
SOURCES_DESCRIPTION : Microsoft Office 16.0 Access Database Engine OLE DB Provider


También los puedo ver creando un fichero de conexión UDL, y ver la lista de Proveedores.

Si ejecuto en el servidor de Base de datos

exec sys.sp_enum_oledb_providers

SELECT * INTO #TEMPORAL FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 8.0;HDR=Yes;Database=C:\Libro1.xlsX', 'SELECT * FROM [Hoja1$]') 

No se ha registrado el proveedor OLE DB 'Microsoft.ACE.OLEDB.12.0'.


Cómo saber si el proveedor Microsoft.ACE.OLEDB.12.0 es de x86 o x64 bits?

Reply all
Reply to author
Forward
0 new messages