“O provedor 'Microsoft.ACE.OLEDB.12.0' não está registrado na máquina local” Erro no processo de importação de xlsx para um servidor sql

116

Eu tenho um Windows 7 de 64 bits e SQLServer 2008 R2 (64 bits)

Eu sigo as instruções que estão aqui para importar o arquivo excel para o sql server, mas na seção figure3 daquele post quando tento acessar o arquivo excel e quando clico em próximo este erro me faz parar:

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

Procuro na web sabia que tinha que instalar AccessDatabaseEngine_x64. mas quando eu instalo eu tenho o mesmo problema

Você pode me ajudar no que fazer?

Mosijava
fonte

Respostas:

214

Instale o seguinte para resolver o seu erro.

Driver do 2007 Office System: Componentes de conectividade de dados

AccessDatabaseEngine.exe (25,3 MB)

Este download instalará um conjunto de componentes que facilitam a transferência de dados entre arquivos existentes do Microsoft Office, como arquivos do Microsoft Office Access 2007 (* .mdb e .accdb) e do Microsoft Office Excel 2007 ( .xls, *. Xlsx e *. xlsb) arquivos para outras fontes de dados, como Microsoft SQL Server .

Slava
fonte
este problema aparece para mim depois de alterar minha execução SSIS de 64 bits ativada. também observe que a instalação resolveu o problema logo após o término e não precisa ser reiniciado
Iman
6
Isso ocorreu para mim quando eu tinha um arquivo formatado em XLSX, fiz o downgrade do arquivo para XLS e funcionou para mim sem instalar nada extra.
Mark Boltuc
8
O "2007" nisso é terrivelmente enganador. Estou executando o SSMS 2014, Office de 64 bits, Windows 8.1 de 64 bits e percebi que estava muito desatualizado, mas esse componente "2007" do Office resolveu o problema. Obrigado!
russds
1
Corrigido meu escritório de 64 bits no Windows 7.
Hammad Khan
2
O link agora está apresentando um erro 404. Experimente microsoft.com/en-us/download/details.aspx?id=54920
Vivek Ayer
60

O driver do Excel 2010 é de 64 bits, enquanto o assistente de importação e exportação de SSMS padrão é de 32, portanto, a mensagem de erro.

Você pode importar usando a ferramenta Import Export Data (64 bits). ("C: \ Arquivos de programas \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe") observe que o caminho não é Arquivos de programas x86.

Ozer
fonte
1
+1. Eu estava prestes a instalar o componente extra que é sugerido em outras respostas. Mas então por que instalar quando tudo já está na minha máquina.
Pradeep
5
Adorei essa resposta, mas gostaria de saber se é uma maneira de alterar o padrão no SSMS.
Dave.Gugg
2
Tive que abrir o importador de 64 bits clicando em Iniciar, pesquisando "Importar e exportar" e selecionando a ferramenta de 64 bits.
blizz de
5
Isso resolveu meu problema. Para alterar o padrão para o funcional, basta substituir o da pasta x86 C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exepelo que está funcionando C:\Program Files\Microsoft SQL Server\110\DTS\Binn\DTSWizard.exe. Se quiser ficar seguro, renomeie o antigo primeiro em vez de substituí-lo, para que você possa voltar se algo der errado.
Magnetron
3
Encontrei a versão de 64 bits do assistente de importação, mas, infelizmente, ao contrário da versão de 32 bits em minha máquina, "Excel" não está listado como uma possível fonte de dados no menu suspenso.
Bob Sammers
19

Salve-o como um arquivo CSV e importe-o como um arquivo de origem simples.

Prumo
fonte
Não há necessidade de instalar nada extra. Isso deve ter muito mais votos positivos.
Austin Springer
17

Esta é a única instalação que resolveu o problema para mim.

SQL 2008 r2 c / office 2010 64 bits: "Driver do 2007 Office System: Componentes de conectividade de dados"

Adam H
fonte
1
Na verdade, este instalador de 32 bits também resolveu para mim, embora eu esteja usando versões de SO e SQL de 64 bits, embora o Office seja de 32 bits.
PedroC88
Link quebrado, por favor, compartilhe o novo.
Venkat de
0

Atualmente, a Microsoft não fornece opção de download para 'Driver do 2007 Office System: Componentes de conectividade de dados' e clique na primeira resposta para 'Driver do 2007 Office System: Componentes de conectividade de dados' redireciona para Cnet, onde obter o link de download cria confusão.

É por isso que quem usa o SQL Server 2014 e a última versão do SQL Server no Windows 10 clica no link abaixo para baixar este componente que resolve seu problema: - Microsoft Access Database Engine 2010

Happy Coding!

mgsdew
fonte