none
O provedor 'Microsoft.ACE.OLEDB.12.0' não está registrado na máquina local. (System.Data) RRS feed

  • Pergunta

  • Pessoal, boa noite!

    Já estou pesquisando sobre esse problema a um tempo e encontrei várias discussões relacionadas mas, nenhuma exatamente como no cenário que tenho.

    Tenho instalado o SQL Server Management Studio.: 18.9.1, para ser mais exato.:

    SQL Server Management Studio 15.0.18384.0
    SMO (SQL Server Management Objects)   16.100.46367.54
    Ferramentas de Cliente do Microsoft Analysis Services 15.0.19535.0
    Microsoft Data Access Components (MDAC) 10.0.19041.1
    Microsoft MSXML    3.0 6.0 
    Microsoft .NET Framework 4.0.30319.42000
    Sistema Operacional 10.0.19042

    Quando tento importar uma planilha no formato "xlsx" é reportado o erro abaixo.:

    "O provedor 'Microsoft.ACE.OLEDB.12.0' não está registrado na máquina local. (System.Data)"

    Usando qualquer versão do Excel pré definida no Assistente de Importação e EXportação do SQL Server, 2001 - 2010

    2013 e 2016 me reporta esse erro, apenas alternando entre "MICROSOFT.ACE.OLEDB.12.0", "MICROSOFT.ACE.OLEDB.15.0", "MICROSOFT.ACE.OLEDB.16.0", conforme seleciono uma versão do excel diferente no assistente.

    Já instalei 2 versões do "MICROSOFT.ACE.OLEDB." a 12 e a 16 mas mesmo assim não consigo fazer SQL Importar a planilha.

    Obs1.: Essa planilha tem mais de 99.000 linhas.

    Obs2.: Quando salvo a planilha em "Xls", consigo importa-la normalmente porém, no formato xls, o máximo de linhas é de 65.000 ou um pouco mais que isso, e tenho planilhas com mais 1.000.000

    Obs3.: Meu Office é o 365 e ainda não encontrei um versão especifica para ele do "O provedor 'Microsoft.ACE.OLEDB.xx.x"

    Se alguem tiver alguma ideia ou experiencia que possa ajudar sou grato.

    Só por favor não peçam para reinstalar o SQL Server Management Studio ... rsrsrs.

    Grande Abraço.


    quinta-feira, 24 de junho de 2021 01:05

Todas as Respostas

  • Ricardo,

    Então cara colega, a questão é justamente a versão do provider ODBC que você precisa instalar e registrar na sua máquina que esta fazendo o acesso ao SQL Server para poder ter a capacidade de ler o conteúdo do arquivo .xls

    Você tem o Excel instalado nesta mesma máquina?

    Veja se o exemplo abaixo lhe ajuda a adicionar o Driver ACE.OLEDB.12.0 na sua máquina:

    USE master
    GO
    
    --CONFIGURANDO À INSTÂNCIA SQL PARA ACEITAR OPÇÕES AVANÇADAS
    Exec sp_configure 'show advanced options', 1
    RECONFIGURE
    
    Exec sp_configure 'Ad Hoc Distributed Queries', 1
    RECONFIGURE
    
    --ADICIONANDO OS DRIVERS NA INSTÂNCIA
    EXEC master .dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1
    GO
    
    EXEC master .dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1
    GO


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sábado, 26 de junho de 2021 12:25
    Moderador