Usuário com melhor resposta
Acesso a uma planilha via Microsoft.ACE.OLEDB.12.0

Pergunta
-
Pessoal,
Tenho um servidor com win 2008 R2 64bits, com SQL 2008 R2 64bit, com o office 64 bits e com o drive ACE.OLEDB.12.0 64 bits.
Eu consigo rodar esse select sem problemas, entretanto outras pessoas logadas com usuários do domínio não conseguem mesmo tendo permissão FULL no caminho de rede e na planilha e sysadmin no banco de dados (base de teste).
select *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=\\caminho\teste.xlsx;',
'SELECT * from [Dados$]') AO mais incrível é que essas pessoas que não conseguem, logando com um usuário com autenticação SQL, elas conseguem executar essa query da máquina deles com sucesso.
Alguém já passou por esse problema?
Agradeço desde já.
Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciolima.net | Dicas de artigos SQL: Siga-me no twitter @fabriciodba.
Respostas
-
Fabricio,
Não fique bravo comigo, ja passei por isso e ao ver a resposta voce ira ficar chateado (Assim como fiquei quando descobri hahahah)
Apenas abra o management studio como administrador clicando com o botão direito, e conecte-se via usuario de rede, a query ira funionar.
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 16 de agosto de 2011 17:06
-
Fabrício,
Pior que é isso mesmo, eu também tive um problema simular a algum tempo atrás em uma das aulas que estava apresentando processos de Import/Export dados entre o SQL Server 2008 e Office 64.
Vale destacar que existe uma incompatibilidade entre o Office 64 em relação ao SQL Server 2008 e R2 que até o presente momento eu não verifiquei se as novas atualizações liberadas pela Microsoft corrigem este problema.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 16 de agosto de 2011 17:06
-
fabricio,
Então, tive problemas com isso em um cliente, o que eu fiz? Criei uma proc que executa com um usuario ADM (No caso criei como SA e coloquei EXECUTE AS OWNER), e dei permissao na proc, ela por si ja faz o select
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Fabricio França Lima terça-feira, 16 de agosto de 2011 18:32
Todas as Respostas
-
Fabricio,
Não fique bravo comigo, ja passei por isso e ao ver a resposta voce ira ficar chateado (Assim como fiquei quando descobri hahahah)
Apenas abra o management studio como administrador clicando com o botão direito, e conecte-se via usuario de rede, a query ira funionar.
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 16 de agosto de 2011 17:06
-
Fabrício,
Pior que é isso mesmo, eu também tive um problema simular a algum tempo atrás em uma das aulas que estava apresentando processos de Import/Export dados entre o SQL Server 2008 e Office 64.
Vale destacar que existe uma incompatibilidade entre o Office 64 em relação ao SQL Server 2008 e R2 que até o presente momento eu não verifiquei se as novas atualizações liberadas pela Microsoft corrigem este problema.
Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 16 de agosto de 2011 17:06
-
Obrigado pela atenção pessoal,
E se a pessoa não for administradora da máquina?
Tenho dois setores aqui na empresa que acessam o SSMS mas não são administradores.
Nesse caso, não tem solução?
Júnior, que tipo de compatibilidade existe, pois estou acabando de montar um novo server todo 64 bits para uma migração.
Abraços
Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciolima.net | Dicas de artigos SQL: Siga-me no twitter @fabriciodba. -
fabricio,
Então, tive problemas com isso em um cliente, o que eu fiz? Criei uma proc que executa com um usuario ADM (No caso criei como SA e coloquei EXECUTE AS OWNER), e dei permissao na proc, ela por si ja faz o select
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Marcado como Resposta Fabricio França Lima terça-feira, 16 de agosto de 2011 18:32
-
Show de bola Fabrício.
Funcionou perfeitamente com a criação de uma procedure com um EXECUTE AS SQLLOGIN. Só um detalhe é que a database tinha que ter a opção Trustworthy como ON.
Agora que já tenho uma solução, vocês saberiam o motivo desse problema? É um BUG?
Porque o meu login de AD acessa e o de outras pessoas não? Onde deveria dar permissão para elas para que funcionassem?
Valeu!!!
Fabrício França Lima | MCP, MCTS, MCITP | Visite meu site: http://fabriciolima.net | Dicas de artigos SQL: Siga-me no twitter @fabriciodba. -
Fabricio,
Não sei se é um bug, mas é um negocinho chato, até onde eu vejo, para se executar diretamente, tem que ser adm local ao menos... infelizmente não sei maiores detalhes, mas vou pesquisar e qualquer coisa posto aqui....
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com -
-
Uhul!, Claro!
Fabrizzio A. Caputo
Certificações:
Oracle OCA 11g
MCITP SQL Server 2008 Implementation and Maintenance
MCITP SQL Server 2008 Developer
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com -
Podria detalhar por favor criei o procedimento mas continuo recebendo erro
use Escola go drop procedure abremdb go CREATE PROCEDURE abremdb -- Add the parameters for the stored procedure here --<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, --<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0> AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here --SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2> exec sp_configure 'show advanced options', 1; RECONFIGURE; exec sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE; EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1 EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
SELECT Nome, Endereço
FROM OPENROWSET('Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\escolas\' ,
'Cadastro.mdb';
'admin';'',AlunoCadastro); END GO
Mensagem 7308, Nível 16, Estado 1, Procedimento abremdb, Linha 29
O provedor OLE DB 'Microsoft.ACE.OLEDB.12.0' não pode ser utilizado para consultas distribuídas porque está configurado para execução em modo STA.
Mensagem 2812, Nível 16, Estado 62, Linha 1
Membro do forum
- Editado Paulo R. Lima sexta-feira, 1 de junho de 2012 17:14