Apresentamos nesse vídeo como conectar um arquivo excel no servidor SQL Server utilizando a funcionalidade Linked Server para consultar e maniplular os dados facilmente.
1. Habilitar funcionalidades avançadas de acesso ao Driver do Excel (ACE.OLEDB):
O Driver ACE.OLEDB é utilizado para acessar arquivos Excel mais recentes. Certifique-se de que o driver esteja instalado e habilitado.
Exemplo de código:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'Ad Hoc Distributed Queries', 1; RECONFIGURE;
2. Consulta aos dados utilizando OPENROWSET:
Utilize OPENROWSET para consultar dados diretamente de um arquivo Excel.
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:CaminhoParaArquivo.xlsx', 'SELECT * FROM [Planilha$]');
3. Uso da função EXEC:
A função EXEC é usada para executar uma instrução SQL dinâmica ou procedimento armazenado.
DECLARE @sqlQuery NVARCHAR(MAX); SET @sqlQuery = 'SELECT * FROM MinhaTabela'; EXEC(@sqlQuery);
4. Inserir dados em nova tabela automaticamente (INSERT INTO):
Use INSERT INTO para inserir dados de uma consulta em uma nova tabela.
INSERT INTO MinhaNovaTabela (Coluna1, Coluna2) SELECT Campo1, Campo2 FROM MinhaTabela WHERE AlgumaCondicao;
5. Criar servidor associado para o arquivo Excel (LINKED SERVER):
Configure um Linked Server para acessar arquivos Excel como se fossem servidores de banco de dados remotos.
EXEC sp_addlinkedserver @server = 'ExcelServer', @provider = 'Microsoft.ACE.OLEDB.12.0', @srvproduct = 'Excel', @datasrc = 'C:CaminhoParaArquivo.xlsx', @provstr = 'Excel 12.0';
6. Configurar login no linked server:
Associe um login do SQL Server ao Linked Server para autenticação.
EXEC sp_addlinkedsrvlogin @rmtsrvname = 'ExcelServer', @useself = 'false', @locallogin = 'SeuLogin', @rmtuser = 'UsuarioExcel', @rmtpassword = 'SenhaExcel';
Certifique-se de substituir os valores nos exemplos de código pelos adequados para o seu ambiente. Estes exemplos fornecem uma base para habilitar e utilizar funcionalidades avançadas ao acessar dados de arquivos Excel no Microsoft SQL Server.
Data Scientist and Consultant for Digital and Analytics Solutions
@fabioms