Precisa de carregar um ficheiro CSV numa base de dados SQL Server? Temos a solução com este guia passo a passo, perfeito para simplificar o seu trabalho com dados. Usando o SSIS, pode facilmente importar dados de um ficheiro CSV para uma tabela do SQL Server com o SSIS.
Os ficheiros CSV são ótimos para todo o tipo de dados, como listas de clientes ou números de vendas. Com o nosso guia, usará o Microsoft SSIS e o Visual Studio 2019 para facilitar este processo.
Vamos guiá-lo através de 10 passos essenciais para importar os seus dados de forma suave e eficaz. Cada passo é fácil de seguir, garantindo que consegue realizar a tarefa, independentemente do seu nível de habilidade.
Aqui estão os 10 passos simples para importar dados CSV para um SQL Server usando o SSIS:
- Prepare o Seu Ficheiro CSV: Prepare-o para o SSIS.
- Configure a Sua Tabela SQL Server: Prepare a sua base de dados com o SSMS.
- Crie o Seu Pacote SSIS: Mostraremos como, passo a passo.
- Conecte-se ao Seu CSV: Ligue-se à sua fonte de dados.
- Ajuste as Suas Colunas: Afine os detalhes.
- Corrija Tipos e Comprimentos de Colunas: Certifique-se de que tudo está compatível.
- Converta os Dados conforme Necessário: Utilize ferramentas do SSIS para ajustar dados.
- Aponte para o Seu SQL Server: Configure para onde os seus dados irão.
- Execute o Pacote SSIS: Importe o seu CSV com confiança.
- Verifique os Seus Dados Importados: Certifique-se de que está tudo correto.
Dividimos o processo em duas partes: primeiro, preparando e conectando o seu ficheiro CSV, e segundo, configurando a sua tabela SQL Server e importando os dados. Este guia é todo sobre tornar a importação de dados o mais direta possível. Vamos começar e fazer o seu trabalho de dados trabalhar para si!
Vamos verificar primeiro alguns requisitos
Antes de tudo, para importar ficheiros de dados CSV para uma tabela SQL Server usando um pacote de Serviços de Integração, vamos verificar alguns pré-requisitos obrigatórios:
- Conseguir conectar-se a uma base de dados existente ou criar uma nova base de dados SQL Server com o SSMS
- Instalar o Visual Studio e a extensão de projetos SSIS para o desenvolvimento do pacote.
1. Prepare o ficheiro fonte CSV para importar com o SSIS (Premium)
De facto, para começar o tutorial e importar dados CSV para uma base de dados SQL Server usando o SSIS, deve seguir este primeiro passo. Simplemente comece por baixar o ficheiro usado no exemplo e depois crie a tabela alvo para armazenar os clientes. O ficheiro Customers_Data.csv contém 49 linhas, consistindo numa linha de cabeçalho e 48 linhas de dados gerados automaticamente.
2. Prepare uma tabela alvo SQL Server com o SSMS (Premium)
O propósito deste pacote SSIS é importar as 48 linhas do ficheiro CSV plano para a tabela de Clientes do SQL Server sem erros. O código de criação da tabela está disponível no nosso treinamento SSIS no Udemy. Execute o código numa sandbox ou numa base de dados de desenvolvimento usando o SSMS no Windows.
3. Crie o pacote de importação SSIS e o fluxo de dados
Este passo trata de como gerir a conexão com o ficheiro plano usado como fonte. Este passo é feito usando um fluxo de dados SSIS simples.
- Abra o Microsoft Visual Studio 2019 e crie um novo projeto SSIS ou abra um projeto existente.
- Abra um pacote existente para modificar o seu conteúdo. Alternativamente, clique com o botão direito e adicione um novo pacote ao projeto SSIS.
Adicionando um Fluxo de Dados SSIS Tradicional
Do espaço de trabalho do Visual Studio, localize a caixa de ferramentas SSIS à esquerda. Selecione Tarefa de Fluxo de Dados e arraste-a para o espaço de trabalho e duplo clique para abri-la.
Na Caixa de Ferramentas SSIS, agora selecione o componente Fonte de Ficheiro Plano e arraste-o para o espaço de trabalho. Depois duplo clique nele para abri-lo e configurá-lo.
Usando variáveis SSIS para gerir caminhos de ficheiros
Com o SSIS, quase todos os componentes e propriedades podem ser definidos com variáveis. É uma boa prática usar variáveis para gerir caminhos, strings de conexão e alterar configurações do SSIS de forma eficiente. Como mudar ambientes de desenvolvimento para teste ou produção, por exemplo.
4. Crie uma conexão SSIS com o ficheiro de dados CSV para importar
Crie e configure uma nova conexão de ficheiro plano selecionando os seguintes itens:
- Primeiro, insira o nome da conexão.
- Depois o caminho do ficheiro.
- Selecione a codificação do ficheiro (página de código).
- O formato, no nosso caso é delimitado.
- Verifique o delimitador no final do cabeçalho (delimitador de linha de cabeçalho).
- Se os nomes das colunas estão na primeira linha do ficheiro
5. Configure as colunas para importar no SSIS e verifique a codificação do ficheiro CSV
O objetivo aqui é muito importante: configurar as colunas e verificar os dados de modo a importar um ficheiro CSV com o SSIS sem quaisquer erros:
- Valide ou modifique o delimitador de linha
- Escolha o delimitador de coluna, que é o caractere no final de cada linha de dados
- Verifique se os dados e, em particular, os acentos ou caracteres especiais são exibidos corretamente. Por exemplo, as linhas 29 e 32 têm um erro porque os acentos são mal interpretados. A codificação deve ser alterada.
Use a codificação correta para o ficheiro de texto usando o Notepad++
Altere a codificação do ficheiro fonte até que os dados sejam exibidos corretamente. Para encontrar a codificação do ficheiro, simplesmente use Notepad++ e abra o ficheiro. Existem 2 possibilidades para verificar a codificação:
Configurando o Gerenciador de Conexão de Ficheiro Plano
Para carregar o ficheiro de texto sem erros, altere a codificação e use 65001 (UTF-8) em vez de 1252 (ANSI – Latin I) proposto por padrão pelo SSIS.
6. Ajuste o tipo de ficheiro CSV e o comprimento das colunas no SSIS
Após a seleção da codificação correta, clique novamente na aba Colunas e verifique os dados.
Agora clique na aba Avançado. Em seguida, renomeie as colunas, se necessário, e atribua-lhes um tipo de dados consistente. Por padrão, o SSIS usa o tipo DT_STR com um comprimento de 50 caracteres. Use o tipo DT_WSTR com o comprimento correto para evitar erros de conversão do SQL Server mais tarde no desenvolvimento do pacote SSIS. Portanto, adapte o tipo de cada coluna ao comprimento dos campos na nossa tabela de clientes:
Observe que os nomes e tipos de dados das colunas na conexão de ficheiro plano devem corresponder aos nomes e tipos de dados das colunas da tabela alvo na base de dados, o que facilitará muito o mapeamento de dados no SSIS. Agora verifique as colunas no componente Fonte de Ficheiro Plano:
7. Adicione o componente Coluna Derivada e ligue-o à fonte
A segunda parte da importação do ficheiro de texto para uma base de dados SQL Server é o mapeamento e a conexão no SSIS. De facto, configure agora o componente de base de dados alvo e carregue os dados com o formato correto. Um formato compatível com os dados do ficheiro plano.
- Na caixa de ferramentas SSIS, da parte Comum. Arraste a transformação Coluna Derivada para o fluxo de dados.
- Em seguida, ligue o componente Fonte de Ficheiro Plano à Coluna Derivada conforme mostrado na imagem abaixo.
Configure a coluna derivada SSIS para alterar o ID do cliente para inteiro
A coluna CustomerID é do tipo inteiro, então uma nova deve ser criada com base na que está no ficheiro. Para convertê-la numa nova coluna SSIS do tipo Inteiro (DT_I8).
8. Configure o componente Destino OLE DB SSIS
Para isso, deve primeiro criar uma conexão com a base de dados alvo a partir do gerenciador de conexões SSIS. Configure o mapeamento de dados na aba Mapeamentos para verificar que as colunas do ficheiro plano e da tabela SQL Server correspondem. Use a coluna Coluna Derivada.CustomerID e não a coluna original do ficheiro plano.
Use a opção de mapeamento automático com o SSIS
Nota: É possível mapear automaticamente as colunas SSIS no próximo passo. Certifique-se de nomear todas as colunas de origem e alvo da mesma forma.
9. Execute o pacote de Serviços de Integração para importar dados CSV
Após configurar o fluxo de dados, execute o pacote SSIS e importe o ficheiro CSV para a tabela de Clientes do SQL Server. O pacote processa as 48 linhas iniciais e integra-as na base de dados.
10. Verifique os dados CSV importados na tabela alvo
É claro que o último passo é uma verificação, por isso, com o SSMS, verifique os dados executando estas duas consultas SQL abaixo.
A tabela tem 48 linhas, idênticas ao conteúdo do ficheiro.
Se obtiver os mesmos resultados, então o seu pacote SSIS para importar um ficheiro CSV para uma tabela do SQL Server é um sucesso.
Por fim, execute uma consulta SELECT para verificar os dados carregados na base de dados. Este exemplo permite-lhe importar facilmente ficheiros simples para uma base de dados do SQL Server com o SSIS, incluindo a capacidade de importar um ficheiro CSV com o SSIS. Também é possível carregar vários ficheiros simples para uma base de dados com um ciclo SSIS (componente For Each File).
Evite erros quando importar ficheiros de texto com o SSIS
Um erro comum é o código SSIS 0x80019002, que indica que o sistema atingiu o número máximo de erros permitido.
De facto, é possível definir o número de erros tolerados através do parâmetro MaximumErrorCount. No entanto, recomendamos que o faça apenas no caso de gestão automática de erros e recarregamentos. Três elementos-chave a verificar para integrar ficheiros com êxito e evitar os erros clássicos de integração de ficheiros SSIS:
- Separador de colunas
- Separador de linhas
- Codificação do ficheiro CSV
Assim, a integração de ficheiros CSV e planos em geral com o SSIS e o Visual Studio é poderosa. No entanto, os erros são comuns, a menos que se preparem e verifiquem previamente os tipos de dados tanto no ficheiro de origem como na tabela de destino.
Para dar mais um passo em frente, é possível carregar um ficheiro Excel numa tabela com o SSIS da mesma forma.
Sobre como importar ficheiros CSV com o SSIS
Para concluir, este tutorial passo a passo sobre SSIS explica como importar um ficheiro de texto CSV para uma tabela do SQL Server com SSIS, com um pacote desenvolvido com o Visual Studio e sem utilizar qualquer script. A estrutura de dados, os nomes das colunas e a configuração correcta de todos os componentes SSIS são fundamentais.
Seja o primeiro a comentar