Usuário com melhor resposta
Lendo Tabela Excel

Pergunta
-
Respostas
-
Deleted
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 21 de julho de 2017 20:34
Todas as Respostas
-
Encontrei esse artigo aqui que explica detalhadamente
https://blogfabiano.com/2008/04/22/ler-dados-de-um-arquivo-excel/
http://www.devmedia.com.br/trabalhando-com-planilhas-do-excel-e-arquivos-texto-no-sql-server/6340
Wesley Neves - Brasilia-DF
wesley.si.neves@gmail.com
MTA-SQL Server
MTA- Web Development
Analista Desenvolvedor.NET
Pós-Graduando em Banco de Dados
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
-
Wesley boa tarde,
Veja se você pode me ajudar. A minha tabela SQL Server possui vários colunas. A minha Planilha Excel possui apenas 3 colunas. Eu preciso pegar essas 3 colunas da planilha Excel e colocá-las em suas devidas colunas na minha tabela SQL Server, tem Como?
Garibaldo
-
Esquarteja por partes
1º crie uma tabela no banco de dados com as colunas referentes ao seu excel
2º faça o procedimento para inserir nessa tabela
3º apos esses 3 campos estiverem na tabela vc pode fazer update na tabela que vc deseja.
4º apos isso vc faz um drop ta tabela criada
Wesley Neves - Brasilia-DF
wesley.si.neves@gmail.com
MTA-SQL Server
MTA- Web Development
Analista Desenvolvedor.NET
Pós-Graduando em Banco de Dados
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
- Editado Wesley Neves segunda-feira, 10 de julho de 2017 17:52 complemento
-
-
EXEC sp_configure 'show advanced options',1 GO reconfigure with override GO EXEC sp_configure 'Ad Hoc Distributed Queries',1 GO reconfigure with override GO CREATE TABLE DadosTemporarios ( ColoqueONomeDoCampo1 VARCHAR(100), ColoqueONomeDoCampo2 VARCHAR(100), ColoqueONomeDoCampo3 VARCHAR(100), ) SELECT * INTO DadosTemporarios FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=c:CAD.xls', 'SELECT * FROM [NomeDaPlanilha$]')
algo semelhante a isso
Wesley Neves - Brasilia-DF
wesley.si.neves@gmail.com
MTA-SQL Server
MTA- Web Development
Analista Desenvolvedor.NET
Pós-Graduando em Banco de Dados
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
Esse link aqui em baixo tem um passo a passo
http://t-sql.com.br/category/importacoes/importar-excel/
- Editado Wesley Neves segunda-feira, 10 de julho de 2017 18:03 complemento
-
Não funcionou
está dando esse erro.
Configuration option 'show advanced options' changed from 1 to 1. Run the RECONFIGURE statement to install.
Configuration option 'Ad Hoc Distributed Queries' changed from 1 to 1. Run the RECONFIGURE statement to install.
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "O mecanismo de banco de dados do Microsoft Access não pôde encontrar o objeto 'Nilpan$'. Verifique se o objeto existe e se você digitou o nome e o caminho corretamente. Se 'Nilpan$' não for um objeto local, verifique a conexão de rede ou contate o administrador do servidor.".
Msg 7350, Level 16, State 2, Line 10
Cannot get the column information from OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
-
Me parece que vc tem que registrar o OLEDB para seu linked server
não tenho certeza que isso vai resolver achei seu erro aqui
https://social.msdn.microsoft.com/Forums/pt-BR/bb2dc720-f8f9-4b93-b5d1-cfb4f8a8b1cb/the-ole-db-provider-microsoftaceoledb120-for-linked-server-null-reported-an-error-access?forum=sqldataaccess
e essa e a resposta do fórum , porem não testei no meu ambiente
USE [master] GO 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
Wesley Neves - Brasilia-DF
wesley.si.neves@gmail.com
MTA-SQL Server
MTA- Web Development
Analista Desenvolvedor.NET
Pós-Graduando em Banco de Dados
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
-
Wealey está dando esse erro;
Configuration option 'show advanced options' changed from 1 to 1. Run the RECONFIGURE statement to install.
Configuration option 'Ad Hoc Distributed Queries' changed from 1 to 1. Run the RECONFIGURE statement to install.
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 2
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
-
Pelo que entendi desses dois artigos
que merem uma leitura detalhada
https://www.excel-sql-server.com/excel-import-to-sql-server-using-distributed-queries.htm
http://blog.hoegaerden.be/2010/03/29/retrieving-data-from-excel/
vc não tem instalado o drive OLE DB componente usado pra integrar com excel
essas DLLS ficam por padrão geralmente na pasta
C:\Program Files\Common Files\System\Ole DB
seque o link pra download os componentes
https://www.microsoft.com/pt-br/download/details.aspx?id=20065
vc já tentou importar usando o assistente Import Data do sql server ???
Wesley Neves - Brasilia-DF
wesley.si.neves@gmail.com
MTA-SQL Server
MTA- Web Development
Analista Desenvolvedor.NET
Pós-Graduando em Banco de Dados
"Se a resposta for útil ou ajudar ,não esqueça de marcar"
Wesley Neves
-
-
-
Wesley, a minha query ficou assim: consegue ver algum erro?
USE GLTRANSP GO EXEC sp_configure 'show advanced options',1 GO reconfigure with override GO EXEC sp_configure 'Ad Hoc Distributed Queries',1 GO reconfigure with override GO EXEC GLTRANSP . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1 GO EXEC GLTRANSP . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1 GO SELECT * INTO tbProdutos1 FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=c:\NFe\Nilpan.xls', 'SELECT * FROM [Plan1$]')
-
da uma olhada no seu banco de dados se está instalado
USE master EXEC sp_configure 'show advanced options',1 GO reconfigure with override GO EXEC sp_configure 'Ad Hoc Distributed Queries',1 GO reconfigure with override GO 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 USE TSQL2012 GO -- utilizando OPENROWSET --Nome Da Planilha -- Nome da aba do excel SELECT * INTO DadosTemporariosOPENROWSET FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\NFe\Results.xlsx', [Aba1$]) --- Utilizando OPENDATASOURCE --Nome Da Planilha -- Nome da aba do excel SELECT * INTO DadosTemporariosOPENDATASOURCE FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:\NFe\Results.xlsx;Extended Properties=Excel 12.0')...[Aba1$]
Minha query funciona das duas formas
alem disso achei um post do mestre @Dirceu Resende com um passo a passo bem detalhado
https://www.dirceuresende.com/blog/sql-server-como-instalar-os-drivers-microsoft-ace-oledb-12-0-e-microsoft-jet-oledb-4-0/
Wesley Neves
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 12 de julho de 2017 20:29
-
Boa tarde,
clica com botão direito no banco que a tabela existe, depois em task e depois em import data. Abrirá um assistente de importação de dados bem simples de ser utilizado.
Se for importar mais de uma vez você pode salvar o pacote para executar novamente quando quiser.
Vinicius Fonseca
MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation
CBD CONSULTORIA -
-
-
Boa tarde José Diz, ei fiz dessa forma e continua dando o erro
EXECUTE sp_configure 'show advanced options', 1 reconfigure with override go EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1 reconfigure with override go EXECUTE GLTRANSP . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'AllowInProcess' , 1 GO EXECUTE GLTRANSP . dbo. sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0' , N'DynamicParameters' , 1 GO INSERT into tbProdutos1 (Codigo_Produto1, Descricao_Produto1, Peso_Produto1, Ipi_Produto1, Clas_FiscalProduto1) SELECT Codigo, Nome, Peso, Ipi, Clas_fiscal from openrowset('Microsoft.ACE.OLEDB.12.0', 'Excel 8.0;Database=c:\NFe\Nilpan.xls', '[Plan1$]') as P;
-
Posta o Erro por favor
Wesley Neves
Ja tentou usando o menu TASK ??- Editado Wesley Neves terça-feira, 18 de julho de 2017 18:15 complemento
-
Deleted
- Marcado como Resposta Filipe B CastroModerator sexta-feira, 21 de julho de 2017 20:34
-
Boa tarde,
Por falta de retorno, essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.