Banco de Dados - SQL Server
Inserindo conteúdo nas tabelas SQL a partir do Excel
Neste artigo você poderá realizar a inserção do conteúdo de um arquivo excel em suas tabelas.
por Andre DantasEste Linked Server será usado para preencher qualquer tabela existente em minha aplicação. No meu caso possuo uma tabela com o nome de “Questões” e outra com o nome “Usuários” do SQL Server 2005. Neste caso iremos usar o recurso de linked Server a partir de uma tabela Excel.
Siga os seguintes passos:
ü Verifique se o arquivo Excel tem a mesma arquitetura da sua tabela SQL Server 2005, ou seja, se você possui um tabela com os mesmo campos que o seu arquivo.xls. Veja o exemplo abaixo.
ü Tabelas Banco
ü Tabela Arquivo Excel Plan1$
ü Tabela Arquivo Excel Plan2$
ü Salve o arquivo Excel
Criando o Linked Server a partir do código abaixo. Com essa procedure você poderá criar um LS para o arquivo especificado abaixo ( c:\Questoes.xls).
ü A primeira linha do código adiciona o nome do link a ser criado
ü A quarta linha deve ser especificada o local do arquivo Excel
ü Execute a query
EXEC sp_addlinkedserver "Questoes",
"Jet 4.0",
"Microsoft.Jet.OLEDB.4.0",
"C:\Questoes.xls",
NULL,
"Excel 5.0"
GO
Criando o Linked Server a partir do código abaixo para os Participantes:
EXEC sp_addlinkedserver "PARTICIPANTES",
"Jet 4.0",
"Microsoft.Jet.OLEDB.4.0",
"C:\Participantes.xls",
NULL,
"Excel 5.0"
GO
STORED PROCEDURE PARA CONSULTAR OS LINKED SERVER EXISTENTES
EXEC sp_linkedservers
TRANSFERINDO O ARQUIVO EXCEL PARA O SQL SERVER 2005
O comando abaixo tem a função inserir os registros na tabela do SQL Server dos registros selecionados da tabela Excel atraves do Linked Server criado anteriormente.
Código para inserir dados na tabela Questao
INSERT INTO Questoes
(enunciado,alternativa1, alternativa2, peso,tema, tipo)
SELECT enunciado,alternativa1, alternativa2,peso,tema, tipo
FROM Questoes...plan1$
------------------------------------------------------------------------
Código para inserir dados na tabela Usuario
INSERT INTO Usuario
(nomeCompleto, email, rg, cpf, usuario)
SELECT nomeCompleto, email, rg, cpf, usuario
FROM PARTICIPANTES...plan2$
Dicas:
ü Certifique-se que a tabela do excel não tenha nenhum dado “NULL”
ü Certifique que a tabela do execel não tenha coluna a mais do que na tabela do SQl Server 2005;
Pronto, agora você pode inserir qualquer conteúdo de arquivos que constam em sua máquina dentro de suas tabelas do sql.
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server