L&A Soluções – Consultoria em Banco de Dados SQL Server ( Suas informações em boas mãos! )
Ola pessoal, uma situação que muitas vezes ocorre é que precisamos exportar dados do SQL Server para o Excel, mas é quando devemos exportar para o Excel com a extensão: .XLSX?Se não tivermos o OLE DB especifico instalado, iremos dar de cara com a seguinte mensagem:
Mensagem 7357, Nível 16, Estado 2, Linha 1
Não é possível processar o objeto “Select LoginID, JobTitle From [Sheet1$]”. O provedor do OLE DB “Microsoft.ACE.OLEDB.12.0” para o servidor vinculado “(null)” indica se o objeto não tem colunas ou se o usuário atual não tem permissões sobre esse objeto.
Como devemos proceder
1. Passo devemos baixar e instalar o 2007 Office System Driver: Data Connectivity Components
2. Agora é só criar o arquivo que deseja exportar, como no exemplo o AdvWorks_Jobs.xlsx que se encontra no drive D:
3. E execute os passos abaixo:— Habilitando Queries Ad Hoc
USE master;
GO
EXEC sp_configure ‘show advanced option’, ‘1’;
RECONFIGURE;
GO
EXEC sp_configure ‘Ad Hoc Distributed Queries’, ‘1’;
RECONFIGURE;
GOUse AdventureWorks2008;
GO
INSERT INTO OPENROWSET (‘Microsoft.ACE.OLEDB.12.0’, ‘Excel 12.0;Database=D:\AdvWorks_Jobs.xlsx;’,
‘Select LoginID, JobTitle From [Sheet1$]’)
Select LoginID, JobTitle From HumanResources.Employee
Go
Pronto… Exportado com Sucesso
Importando uma planilha Excel no SQL Server
Como conectar o Excel com o SQL Server
Fonte: Blog do Sr. Alexandre Lopes
Alex Souza
Se preferir tb pode-se usar o assistente de importação e exportação do SQL Server.
Para ter acesso a ele é só ir em Iniciar, Executar, digite DTSWIZARD, OK e é só utilizar.
Boa tarde
Tenho sim o SQL Native Client instalado.
So nao consigo exportar, pois aparece a msg do OLE DB que nao está registrado? Alguma outra sugestão?
Josivan,
Creio que este problema seja o drive OLE DB que esta querendo exportar, vc quer exportar para o excel?
Abraço!
Na verdade o que eu preciso é exportar para um .txt, tentei fazer rodar o teu exemplo pq foi o unico que achei legal na net, porém quando mando exportar para .txt acontece o mesmo problema.
INSERT INTO OPENROWSET(‘Driver={Microsoft Text Driver (*.txt; *.csv)};’,
‘DefaultDir=C:\Diretorios;’,’select * from Arquivo.txt’)
SELECT numcad from db_cooper.r034fun where numcad = 3836
Erro:
Msg 7403, Level 16, State 1, Line 1
O provedor do OLE DB “Driver={Microsoft Text Driver (*.txt; *.csv)};” não foi registrado.
Abraço
Vou tentar fazer aqui e te aviso.
Abraço!
Ok entao, ficou no aguardo. Obrigado!