Estamos trabalhando em um projeto que requer dados de importação da planilha do Excel diariamente. Os dados serão importados do modelo pré-definido e o que estamos pensando, primeiro enviaremos os dados na tabela temporária e executaremos a operação de limpeza (removendo informações desnecessárias, adicionando novas linhas na tabela pai e obtendo seu FK, etc.).
- Preciso saber se existe alguma ferramenta ou utilitário disponível que possa reduzir nossos esforços.
- Qual é a melhor maneira de INSERIR registros em massa de diferentes fontes (principalmente de planilhas do Excel)?
sql-server
bulk
import
kodvavi
fonte
fonte
Respostas:
O SSIS é o caminho a seguir. Se você nunca criou um pacote antes e sabe que seus arquivos de origem (leia também: planilhas) sempre serão os mesmos, o que você pode fazer é usar o assistente de Importação / Exportação do SQL Server. No SSMS, clique com o botão direito do mouse no banco de dados e selecione Tarefas> Importar (ou Exportar) Dados ...
Isso abre um assistente que o orienta nas etapas de seleção dos arquivos de origem / destino, bem como das tabelas de destino (pode criar tabelas se elas já não existirem). Você precisará mapear quais colunas vão para onde, mas o assistente é bastante direto. Quando terminar, solicitará que você execute ou salve o pacote (ou faça ambos). Salve o pacote. Isso salvará seu pacote no formato .dtsx se você optar por salvá-lo no sistema de arquivos. Sua outra opção é salvar o pacote no próprio SQL Server, que os manteria no banco de dados do sistema msdb.
Depois de salvar seu pacote, você pode criar um trabalho do SQL Agent para executá-lo periodicamente (você especifica a programação) para poder sempre carregar suas tabelas usando o SSIS. Se você quiser saber mais sobre o SSIS, confira os seminários on-line gratuitos da minha empresa (cobrimos toda a pilha de BI) no PragmaticWorks
fonte
Aqui está um exemplo de como importar dados do Excel para o SQL Server. Um dos principais problemas é garantir o uso do componente Conversão de Dados entre o Excel e o SQL Server e fazer uma conversão do NVARCHAR para o VARCHAR, pois o Excel trata os dados como NVARCHAR.
http://www.mssqltips.com/tip.asp?tip=1393
fonte
Use o SQL Server Integration Services . É simples assim.
Não podemos mostrar como aqui: é muito geral
fonte
Eu não descartaria nada
mr. gbn,Sankar Reddy,SQLChicken
. Mas eu gostaria de dizer que existe uma maneira simples de importar planilhas do Excel no SQL através do TSQL 'OPENROWSET'.Por exemplo, para importar
user
planilhas do Excel noTestDB
banco de dados. Suponha que eu já criei a[user]
tabela noTestDB
banco de dados. Em seguida, o TSQL do openrowset simples seria mencionado abaixo dessa maneiraNota: estou escrevendo este TSQL no ambiente do SQL Server 2012. Para cada
OLEDB
provedor de conjunto de linhas abertas do servidor SQL será diferente. Por favor, verifique oOLEDB
link servidor-> provedor suportado para essa versão do SQL server. No meu caso éACE.OLEDB.12.0
. Antes da importação, verifique seAllow inprocess
esseMICROSOFT.ACE.OLEDB.12.0
fornecedor está marcado ou não . Deve ser verificado assimNota: - É testado no ambiente de produção. Mas no seu caso, sem testar no ambiente de teste. Não execute diretamente no ambiente de produção.
fonte