none
El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local. (System.Data) RRS feed

  • Pregunta

  • Estoy intentando importar un archivo Excel al SQL server usando Microsoft SQL Server Management Studio 18.

    Entonces me aparecio el siguiente error:

    TITLE: SQL Server Import and Export Wizard------------------------------The operation could not be completed.------------------------------ADDITIONAL INFORMATION:El proveedor 'Microsoft.ACE.OLEDB.12.0' no está registrado en el equipo local. (System.Data)------------------------------BUTTONS:OK------------------------------

    Buscando me tropece con este hilo: https://social.msdn.microsoft.com/Forums/es-ES/593510f9-2f1c-42cb-a088-ac382beb9fac/el-proveedor-quotmicrosoftaceoledb120quot-no-est-registrado-en-el-equipo-localsystemdata?forum=sqlserveres

    En este caso tengo un Windows 10 x64: descargue para 64 donde me lo indicaron en el mismo hilo: https://www.microsoft.com/en-us/download/details.aspx?id=13255

    me llama la atencion que el exe se llame "AccessDatabase" supongo que es correcto. De todas formas al instalar el archivo sigo con el mismo problema: entonces me surgen las siguientes preguntas.

    1. Como confirmo que la instalacion fue correcta?
    2. Si ya instale Microsoft.ACE.OLEDB.12.0: como lo regsitro? ¿Con Regedit?
    3. Alguien tiene otro metodo para hacer esto?

    miércoles, 25 de noviembre de 2020 15:43

Todas las respuestas

  • El proveedor ACE se puede descargar en 32 y en 64 bits, pero solo uno de ellos se puede instalar. Bueno, si buscas por Internet verás que hay gente que publica trucos para instalar los dos a la vez manipulando el Registro de Windows. Pero de forma predeterminada solo puedes instalar uno de los dos.

    Y eso es molesto, porque SSMS es una aplicación de 32 bits y busca la versión de 32 bits del proveedor ACE, y si solo tienes instalada la versión de 64 bits te dice que el proveedor no está registrado.

    Pero si luego salvas el paquete dtsx y lo quieres ejecutar con SSIS y resulta que tu SQL Server es de 64 bits, entonces busca la versión de 64 bits del proveedor ACE y tienes el problema contrario. Para subsanar este problema, lo que puedes hacer es rodar el SSMS en otra máquina que no sea la que tiene el SQL Server, e instalar en ella el ACE de 32 bits. Y luego, cuando pases los paquetes al servidor, los ejecutas ahí con un ACE de 64 bits. O, si solo vas a ejecutar desde SSMS, entonces puedes dejarlo en el servidor pero cerciórate de que instalas el ACE de 32 bits (tendrás que desinstalar primero el de 64 bits si lo tienes instalado).

    miércoles, 25 de noviembre de 2020 21:20