Problemas com OPENROWSET no SQL Server 2008 R2

Você instalou o Microsoft SQL Server 2008 R2 (64-bit), baixou o Microsoft Access Database Engine 2010 Redistributable versão x64, descobriu que precisa desinstalar o Office x86 para poder instalar a versão de 64-bits compatível com o SQL Server, atendeu a todos os pré-requisitos e ainda assim ao tentar executar uma consulta usando o OPENROWSET recebeu o erro abaixo.

image

Consulta:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0' ,'Excel 12.0;Database=C:\Local do Arquivo\arquivo.xls;HDR=YES;IMEX=1' ,[Plan1$])

Mensagem:

OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Erro não especificado".

Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider “Microsoft.ACE.OLEDB.12.0” for linked server “(null)”.


Outra tentativa

Mesmo depois de tentar habilitar com o seguinte comando e verificando que está habilitado, você continuou recebendo o erro acima.

SP_CONFIGURE 'show advanced options', 1
RECONFIGURE SP_CONFIGURE 'Ad Hoc Distributed Queries', 1
RECONFIGURE SP_CONFIGURE

image

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

Solução

Seu problema pode ser relacionado ao nível de acesso do SQL Server em sua máquina.

Verifique as credenciais com que o SQL Server está fazendo logon no seus sistema, abrindo o SQL Server Configuration Manager.

image

O serviço tem de estar associado ao LocalSystem para poder acessar corretamente os drivers do ‘Microsoft.ACE.OLEDB.12.0’ (vale lembrar que este driver substitui o antigo ‘Microsoft.Jet.OLEDB.4.0’) conforme figura abaixo:

image

image

Após este ajuste as consultas serão executadas normalmente.

image

Apesar de resolver meu problema especificamente eu tentei compilar as outras soluções que encontrei nos fóruns de discussão da MSDN

Esse post foi publicado em Computadores e Internet e marcado , , , , . Guardar link permanente.

Uma resposta para Problemas com OPENROWSET no SQL Server 2008 R2

  1. Tiago Novaes disse:

    Eu tive um problema parecido.
    A solução no meu caso foi apenas reiniciar o serviço do SQL SERVER e voltou a funcionar normalmente.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s