Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Convertendo Banco de Dados.

Imprimir
Avaliação do Usuário: / 22
PiorMelhor 

 

Converter uma base de dados para outro servidor de banco de dados sempre foi visto como uma tarefa difícil e chata, porém atualmente é possível realizá-la de forma prática utilizando ferramentas como o SQL Server Business Intelligence Development Studio.

Embora converter uma base de dados não seja ideal, existe essa necessidade já que muitas pessoas decidem não mudar o sistema de sua loja ou empresa justamente para não perder sua base de informações. Se você puder oferecer a alternativa de manter essas informações que são fundamentais para que o negócio dessas pessoas funcione, então certamente elas irão se interessar em adquirir um sistema melhor e com novas funcionalidades que ainda não existiam quando aquele sistema antigo que está sendo atualmente utilizado, talvez ainda em DOS, foi desenvolvido.

Utilizando o SQL Server Business Intelligence Development Studio:

Para converter uma base de dados você deve criar um projeto do tipo: Integration Services Connections Project.

New Project

 

Após selecionar o template do seu projeto, o Wizard irá ajudá-lo a criar as conexões de origem e destino, selecionar os provedores de dados correto e configurar as conexões.


Select Data Provider

 

Selecione o provedor de dados que será utilizado e clique em Add. Neste caso irei converter uma base de dados em Access para o SQL Server 2008, porém é possível converter diversas bases de dados como Oracle, DB2, MySQL, Paradox entre outros.


Connection Manager

 

Selecione o Microsoft Jet 4.0 OLE DB Provider, informe o caminho da base de dados de origem e clique em Ok.

Agora você criou a conexão de origem, porém ainda é necessário criar a conexão de destino.

Connection Manager

 

Selecione e provedor de dados para o SQL Server 2008, que é o SQL Server Native Client 10.0, o nome do servidor, que é a instância do SQL Server que foi instalada na máquina, informe o usuário e senha, caso o modo de autenticação seja SQL Server Authentication, e selecione a base de dados de destino.

Feito isso será exibida uma tela com as duas conexões, onde você deverá selecionar qual é a de origem, qual é a de destino e clicar em Finish.


Project

 

Agora é necessário definir o fluxo de dados, informar quais informações você quer converter, de qual tabela ela vem e pra onde ela vai.

Para configurar a origem ou o destino basta dar duplo click em source (origem) ou destination (destino).

Configurando a origem:

Origem

 

Utilizando a conexão de origem conseguimos acessar as informações na base de dados de origem. É possível selecionar uma tabela da qual determinaremos quais colunas queremos converter para a nossa nova base de dados ou então criar um comando SQL para selecionar as informações desejadas. Neste caso queremos converter a tabela de produtos.


Após configurarmos a origem é necessário criar um caminho até o destino, para fazê-lo basta selecionar ambos, clicar com o botão direito e escolher Add Path.

 

Add Path

 

Agora podemos determinar para qual tabela iremos mandar as informações vindas da origem e selecionar quais colunas iremos ou não utilizar. Neste caso foi criado um exemplo simples para entender como a ferramenta funciona, mas muitas vezes é necessário fazer uma analise dos dados para entender o que representam as informações armazenas e para onde elas devem ir. Na maioria das vezes os nomes dos campos ou tabelas não são tão claros.

Configurando o destino:

 

Destino
Mappings

Temos as colunas que pegamos da origem e as colunas na tabela de destino, a ligação entre elas deve ser feita quando queremos copiar o conteúdo de um campo da tabela de origem para outro campo da tabela de destino e isto é feito através do mapeamento dos campos (Mappings). Após mapear os campos clicamos em Ok.

Neste caso a origem não é compatível com o destino pois o campo “Descrição” é Unicode na origem e Não Unicode no destino, então é necessário adicionar um componente (Data Conversion) para a conversão do tipo de dados deste campo.


Data Conversion


 

Neste componente determinamos todos os campos de origem que queremos alterar o tipo de dados, neste caso faremos isso com todos os campos que são Unicode alterando o Data Type para String e depois alterando o destino para pegar as informações já convertidas.


Transformation Editor


 

Alterando o mapeamento no destino:

Mappings


 

Feito isso o novo Pacote de conversão já está pronto para ser executado e para isto clicamos com o botão direito em Package, opção Execute Package.

Execute Package

 


 

Após terminar a execução os componentes assumirão a cor verde caso não tenha ocorrido nenhum erro e será possível ver a quantidade de linhas foram convertidas para a base de dados atual.

Package

 

É importante saber que tabelas origem das chaves estrangeiras devem ser convertidas em um fluxo de dados anterior. Neste caso convertemos a tabela de produto, porém nesta tabela tínhamos campos como Categoria e Fornecedor que são chaves estrangeiras provenientes de outras tabelas que devem ser convertidas antes da tabela de produtos, caso contrário irá ocorrer erro na execução do pacote.

Para ligarmos diferentes fluxos de dados (Data Flow), alteramos para a aba Control Flow, selecionamos os fluxos de dados desejados e escolhemos a opção Add Precedence Constraint.

Control Flow

 

 

Agora é possível acessar e manipular as informações que estavam na base de dados antiga na sua nova base de dados, e assim não é necessário limitar o alcance do seu sistema somente para o servidor de banco de dados no qual ele foi desenvolvido visto que é possível migrar até mesmo bases de dados antigas para que essas informações sejam utilizadas no seu sistema.

 

Dúvidas, críticas ou sugestões?
Este endereço de e-mail está protegido contra SpamBots. Você precisa ter o JavaScript habilitado para vê-lo.

Maria Cláudia Provinciatto
Estudante de Ciência da Computação
UNESP de Presidente Prudente

 

 


 


 

 

Comentários  

 
+2 #2 SQL Server Business Intelligence Development StudioPaulo 10-01-2014 12:44
Olá,

Estou lendo seu artigo, e fiquei com uma dúvida. É possível usar essa ferramenta para converter bases de outros bancos de dados como o firebird sem necessariamente desenvolver com o visual studio?, sou revenda de uma empresa de software e faço serviços de suporte técnico e sempre passo por situações onde tenho que converter bases de dados de diferentes bancos de diferentes ambientes de desenvolvimento , estou procurando um conversor de base que não seja 'atrelado' com nenhuma plataforma de desenvolvimento .
Citar
 
 
+2 #1 ParabensNivaldo 23-11-2012 13:40
Ótimo post... Muito bom mesmo... estava a procura de algo sobre isso.
parabens e obrigado.
Citar
 

Adicionar comentário


Código de segurança
Atualizar

You are here: