Importar um ficheiro CSV com o SSIS

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:

  1. Prepare o Seu Ficheiro CSV: Prepare-o para o SSIS.
  2. Configure a Sua Tabela SQL Server: Prepare a sua base de dados com o SSMS.
  3. Crie o Seu Pacote SSIS: Mostraremos como, passo a passo.
  4. Conecte-se ao Seu CSV: Ligue-se à sua fonte de dados.
  5. Ajuste as Suas Colunas: Afine os detalhes.
  6. Corrija Tipos e Comprimentos de Colunas: Certifique-se de que tudo está compatível.
  7. Converta os Dados conforme Necessário: Utilize ferramentas do SSIS para ajustar dados.
  8. Aponte para o Seu SQL Server: Configure para onde os seus dados irão.
  9. Execute o Pacote SSIS: Importe o seu CSV com confiança.
  10. 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:

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.

Para baixar os recursos: Ficheiro plano e consulta, inscreva-se no nosso treinamento completo em vídeo SSIS.

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.

Para baixar os recursos: Ficheiro plano e consulta, inscreva-se no nosso treinamento completo em vídeo SSIS.

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.

Novo fluxo de dados SSIS para carregar um ficheiro de texto numa base de dados SQL
Novo fluxo de dados SSIS para carregar um ficheiro de dados CSV numa tabela SQL Server

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.

Adicione a Fonte de Ficheiro Plano ao fluxo de dados SSIS (Fonte de Ficheiro Plano)
Adicione a Fonte de Ficheiro Plano ao fluxo de dados SSIS (Fonte de Ficheiro Plano)

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:

  1. Primeiro, insira o nome da conexão.
  2. Depois o caminho do ficheiro.
  3. Selecione a codificação do ficheiro (página de código).
  4. O formato, no nosso caso é delimitado.
  5. Verifique o delimitador no final do cabeçalho (delimitador de linha de cabeçalho).
  6. Se os nomes das colunas estão na primeira linha do ficheiro
Configurar uma nova conexão com o ficheiro CSV no pacote SSIS
Configurar uma nova conexão com o ficheiro CSV no pacote SSIS

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:

  1. Valide ou modifique o delimitador de linha
  2. Escolha o delimitador de coluna, que é o caractere no final de cada linha de dados
  3. 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.
Escolha o delimitador de linha e coluna e verifique os dados
Escolha o delimitador de linha e coluna e verifique os dados

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:

Verifique facilmente a codificação de um ficheiro de texto com o Notepad++
Verifique facilmente a codificação de um ficheiro de texto com o Notepad++

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.

Mude a codificação do ficheiro para 65001 (UTF-8) na configuração da página de código
Mude a codificação do ficheiro para 65001 (UTF-8) na configuração da página de código

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.

A pré-visualização de dados SSIS apresenta agora corretamente os dados e os acentos
A pré-visualização de dados SSIS apresenta agora corretamente os dados e os acentos

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:

Para baixar os recursos e ver os tipos de dados: Ficheiro plano, consulta e tipos de dados, inscreva-se no nosso treinamento completo em vídeo SSIS.

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:

Verificar mapeamentos de coluna no componente de origem de arquivo simples do SSIS
Verificar mapeamentos de coluna no componente de origem de arquivo simples do SSIS

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.
Adicione o componente Coluna Derivada e ligue-o à Fonte de Ficheiro Simples
Adicione o componente Coluna Derivada e ligue-o à Fonte de Ficheiro Simples

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).

Criar uma coluna derivada para converter o ID do cliente de texto para número inteiro
Criar uma coluna derivada para converter o ID do cliente de texto para número inteiro

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.

Utilizar a nova coluna para a coluna derivada de ID do cliente
Utilizar a nova coluna para a coluna derivada de ID do cliente

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.

Prima F5 ou clique em Executar para iniciar o pacote SSIS para importar o ficheiro CSV
Prima F5 ou clique em Executar para iniciar o pacote SSIS para importar o ficheiro CSV

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.

Consultas SSMS para apresentar o resultado da importação de CSV para a tabela do SQL Server com SSIS
Consultas SSMS para apresentar o resultado da importação de CSV para a tabela do SQL Server com SSIS

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:

  1. Separador de colunas
  2. Separador de linhas
  3. 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.

Be the first to comment

Leave a Reply

Your email address will not be published.


*