Usando Import and Export Wizard no SQL Server 2008 R2
Autor: Wesley Leal | Publicado: 2013-06-03T14:36:00-07:00

  A proposta deste artigo é mostrar uma das formas de utilizar o  SSIS (SQL Server Integration Services) para importar dados para o SQL Server 2008 R2. Vou mostrar como popular uma tabela já existente com base em um arquivo de texto simples. Utilizarei o  Import and Export Data que é uma ferramenta que já acompanha o SQL Server e não nos obriga a criar um projeto no  BIDS (Business Intelligence Development Studio) que é o Visual Studio 2008 com um template para se trabalhar com BI. O  Import and Export Data é muito mais limitado que o BIDS, mas para esse propósito que vou utilizar, é ideal!  Para gerar a massa de dados que vou utilizar para explicar este recurso do BI, criei uma tabela de clientes e nesta tabela preciso inserir nomes à eles. Estou tentando fazer uma forma mais automatizada para criar esses dados, por   isso, procurei na internet algum site que pudesse me dar uma lista de nomes. Para minha felicidade, encontrei esse site com uma lista bem diferente:    http://fernando.felix.vilabol.uol.com.br/humor/nomes.html  Copiei a lista com os nomes e salvei em um arquivo txt, no qual de o nome de  nomes.txt. Se quiser baixar o arquivo que usei pra importar no SQL Server, pode pegar diretamente no meu Skydrive:    http://cid-e2bc89dfc1ec2551.skydrive.live.com/browse.aspx/.Public/BI  Para importar esse arquivo para o SQL Server, vou criar uma tabela simples para armazenar esse nomes.  create table tbl_Nomes   (id_nome int identity(1,1) not null   , nome varchar(100) not null)  Depois de criada a tabela, é hora de abrir o aplicativo Import and Export Data, ele fica dentro da pasta do SQL Server 2008 R2. Veja no caminho abaixo:    A primeira tela que se abre, é uma tela de boas vindas, ela não realiza nenhuma atividade especial no processo. É só avançar sem nenhum problema.    A segunda tela é bem importante, é aqui que selecionamos a origem dos nossos dados. Como vamos importar informações de um arquivo txt, no primeiro combo (no topo da tela) a origem que deve ser selecionada éFlat File Source. Nesta   combo existem outras diversas origem de dados, mas nesse caso específico será o Flat File. Após escolher essa opção, os campos da tela se adaptam à ela e solicitam informações sobre o arquivo. O botão &#8220;Browse&#8230;&#8221; nos permite escolher o arquivo que será   utilizado para importar os dados. Selecionamos este arquivo e algumas informações relativa à ele são preenchidas. Se quiser dar uma olhada nos dados que tem no arquivo, vá até a opção &#8220;Preview&#8221; que está na listagem à esquerda na tela. Depois de escolher o   arquivo, pode avançar para a próxima tela clicando em &#8220;Next &gt;&#8221;  Sugestão 1: Altere a propriedade &#8220;Header  row delimiter:&#8221; para &#8220;Comma (,)&#8221; assim ele vai quebrar a linha em cada virgula que ele encontrar.  Sugestão 2: Vá até o item &#8220;Advanced&#8221; na listagem da esquerda, selecione a coluna que tem seus dados (você vai saber qual é, olhando em &#8220;Preview&#8221;) e vá até a propriedade OutputColumnWidth e mude de 50 para 100. Esse   é o tamanho da coluna, se deixar 50, alguns nomes podem ser truncados.    A terceira tela que será utilizada, é a tela referente ao destino dos dados, neste caso, como vamos colocar os dados do arquivo no SQL Server 2008 R2, vou selecionar minha instância e realizar a autenticação no servidor, após a   autenticação eu posso escolher o Database que vou armazenar meus dados. Após preencher esses campos vou avançar de tela.    A tela seguinte permite escolher em qual tabela do banco os dados serão armazenados. Por padrão, ele sugere criar uma tabela nova com o nome do arquivo, mas isso não é obrigatório, veja que neste caso vamos preencher a tabela que   criamos lá em cima, a tbl_nome. Para informar à essa ferramenta qual coluna do arquivo irá preencher qual coluna da tabela, vamos clicar no botão &#8220;Edit Mappings&#8230;&#8221; lá no final da tela.  Nesta edição de colunas, no item Destination da  Column1 deixe como &lt;ignore&gt; e então selecione o Destination da  Column0 como nome. Não dá pra fazer em outra ordem porque a princípio o destination &#8220;nome&#8221; está alocado para a column1.    Após a escolha da tabela de destino e a coluna que receberá os dados do arquivo, a ferramenta nos pergunta se quer executar o processo imediatamente ou se quer armazenar para realizações futuras. No nosso caso, vamos apenas popular   esta tabela agora, então não teremos problema em mandar executar agora e não salvar essa configuração. Para isso, marque a opção &#8220;Run immediately&#8221; e desmarque a opção &#8220;Save SSIS Package&#8221;. E novamente, avance.    Este é o penúltimo passo, ele mostra um resumo do que será realizado e solicita que clique em &#8220;Finish&#8221; para realizar o processo.    Ao clicar em finalizar, o processo começa a ser executado e se estiver tudo configurado certo não haverá problema e uma tela parecida abaixo com essa será apresentada. Veja que todos os passos foram executados com sucesso.    Agora pra provar a inclusão dos dados na tabela, fiz um SELECT simples e retornaram os 244 registros incluídos.    Reparem que os nomes estão com uma virgula no final, para resolver isso, eu fiz um update removendo elas do registro. O update é esse:  update tbl_Nomes set nome = replace(nome, &quot;,&quot;, &quot;&quot;)  Se tivessemos utilizado o BIDS para fazer a importação dos dados, seria possível adicionar um controle que na própria importação dos dados já removeria a virgula do final. Mas mesmo assim essa ferramenta é bem útil para importar   e exportar dados de um lugar para outro, neste exemplo utilizamos para ler um arquivo TXT e salvar no SQL Server 2008 R2.    Leia Mais:   http://www.linhadecodigo.com.br/artigo/3025/usando-import-and-export-wizard-no-sql-server-2008-r2.aspx#ixzz28nln0vl5  &nbsp;          Confidencialidade: A informação contida nesta mensagem de e-mail, incluindo quaisquer anexos, é confidencial e está reservada apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem   ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem de e-mail ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente   e apague esta mensagem de seu computador ou de qualquer outro banco de dados. Muito obrigado.  Confidentiality Notice: The information contained in this email message, including any attachment, is confidential and is intended only for the person or entity to which it is addressed. If you are neither the intended recipient nor the employee or agent responsible   for delivering this message to the intended recipient, you are hereby notified that you may not review, retransmit, convert to hard copy, copy, use or distribute this email message or any attachments to it. If you have received this email in error, please   contact the sender immediately and delete this message from any computer or other data bank. Thank you.