Leia: http://dbaduarte.blogspot.com.br/2014/05/migracao-de-dados-do-sql-server-para.html
Hoje irei apenas mostrar um passo para otimizar o procedimento com exportação e importação em massa.
Após efetuado todos os passos do Post anterior, agora vamos no desenvolvimento da melhoria!
Com todos os comandos BCPs e arquivos CTLs desenvolvidos, será necessário salvá-los em uma pasta do Servidor SQL Server.
Exemplo *.BCP:
Exemplo *.CTL:
Ok ! Agora vamos desenvolver uma BAT para exportar todos os dados das tabelas de uma só vez.
Usei o utilitário osql pelo motivo do SQL Server estar na versão 2000, caso fosse uma superior usaria o sqlcmd.
-U: Usuário
-P: Senha
-S: Nome do Servidor (SQL Server)
-d: Nome da Base de dados
%1, %2, %3, %4: Parâmetros que iremos passar - Para não ser chumbado na BAT.
-i: Entrada (Arquivo)
-o: Saída (Arquivo)
osql -U%1 -P%2 -S%3 -d%4 -iTABLESQLSERVER.bcp -oTABLESQLSERVER.log
Salvar a BAT na mesma pasta dos outros arquivos.
Iremos executar a BAT pelo cmd do Servidor SQL Server:
>cd C:\Migracao
>bcp.bat usuario senha nomedoservidor nomebasededados
OBS: Passando os parâmetros dos %1, %2, %3, %4
Os arquivos foram exportados em .TXT no C:\ do Servidor SQL Server - Conforme definimos nos arquivos .BCP.
Salvá-los na mesma pasta dos outros arquivos.
Feito ! Vamos a criação da BAT para a importação dos dados em massa no Servidor Oracle.
sqlldr userid=%1/%2@%3 control=TABLESQLSERVER.ctl log=TABLESQLSERVER.log
Salvar a BAT na mesma pasta dos outros arquivos.
Para a importação, será necessário copiar a pasta com todos os arquivos para o Servidor Oracle, ou em algum outro local que tenha o Client do Oracle instalado e o TNSNAMES configurado com os dados do Servidor - No meu caso copiei para a minha máquina local.
Iremos executar a BAT pelo cmd (No meu caso da minha máquina local).
>cd C:\Migracao
>loader.bat usuario senha instanciaoracle
Pronto! Todas as suas tabelas foram migradas em massa de uma só vez!
Valeu,
Bruno Duarte.
Nenhum comentário:
Postar um comentário