copiar registros entre tabelas de bd diferentes

Firebird

12/11/2007

Opa pessoal,

Como copiar registros de dois bancos de dados diferentes, um para dentro do outro? Tipo, tabela 1, tabela 2, para a tabela 1 e tabela 2 do segundo banco de dados?

Grato.


Sergiofigueras

Sergiofigueras

Curtidas 0

Respostas

Martins

Martins

12/11/2007

Opa pessoal, Como copiar registros de dois bancos de dados diferentes, um para dentro do outro? Tipo, tabela 1, tabela 2, para a tabela 1 e tabela 2 do segundo banco de dados? Grato.


As estruturas são iguais ou diferentes?


GOSTEI 0
Sergiofigueras

Sergiofigueras

12/11/2007

Entao, as estruturas variam um pouquinho de acordo com alguns campos.

Por exemplo, alguns campos mudam os nomes, e alguns mudam o tipo do campo...

O que vc acha de importar essa tabela, tirando esses campos, e depois fazer uma rotina para importar esses campos a parte? Saberia me dizer como faco isso?

Grato!


GOSTEI 0
Gandalf.nho

Gandalf.nho

12/11/2007

Experimente usar o IBDataPump


GOSTEI 0
Sergiofigueras

Sergiofigueras

12/11/2007

Nao posso usar o IBDataPump. Ha incompatibildiades e algumas tabelas nao migram. Nao posso usar um componente para isso.


GOSTEI 0
Gandalf.nho

Gandalf.nho

12/11/2007

Componente? O IBDatapump não é um componente e sim um utilitário.


GOSTEI 0
Sergiofigueras

Sergiofigueras

12/11/2007

sim, mas nao poderia. pois isso vai ser feito no pc do usuario. Cada usuario tem um banco de dados no pc. O software deve migrar o banco de dados antigo, pro novo, sem que o usuario precise mover um dedo...


GOSTEI 0
Andrew

Andrew

12/11/2007

sim, mas nao poderia. pois isso vai ser feito no pc do usuario. Cada usuario tem um banco de dados no pc. O software deve migrar o banco de dados antigo, pro novo, sem que o usuario precise mover um dedo...


Olá colega, o martins me passou um código certa vez para fazer essa migração, vou ver se encontro e posto aqui, mas se não me engano vc terá q usar while.. do e outras coisinhas mais, vou ver se encontro quando chegar em casa.

t+


GOSTEI 0
Martins

Martins

12/11/2007

[quote:08eefe923a=´SergioFigueras´]sim, mas nao poderia. pois isso vai ser feito no pc do usuario. Cada usuario tem um banco de dados no pc. O software deve migrar o banco de dados antigo, pro novo, sem que o usuario precise mover um dedo...


Olá colega, o martins me passou um código certa vez para fazer essa migração, vou ver se encontro e posto aqui, mas se não me engano vc terá q usar while.. do e outras coisinhas mais, vou ver se encontro quando chegar em casa.

t+[/quote:08eefe923a]

Já faz um tempinho isso aí em Andrew, pô foi em 2004, fala sério ainda lembra, hehehe.

Camarada, de acordo com suas estruturas vc terá q fazer isso na unha memso, escrevendo seus laços, e validando informações, convertendo tipos diferents, coisas assim, posta aí tua estrutura ou uma similar para ver se podemos te ajudar.

bons códigos e boa sorte.


GOSTEI 0
Douglasaltonia

Douglasaltonia

12/11/2007

Sergio

Eu fiz ´na unha´ mesmo, no meu caso passei um Banco ´DBF - Clipper´ para ´GDB - Interbase´:


// Table2 - Interbase
// Table1 - Cliper

Table1.Open;

Table1.First;
While not(Table1.Eof) do
begin
Table2.Edit;

Table2.FieldbyName(´CODIGO´).AsString :=
Table1.FieldbyName(´CODCLIENTE´).AsString;

Table2.FieldbyName(´NOME´).AsString :=
Table1.FieldbyName(´NOMECLIENTE´).AsString;

Table2.FieldbyName(´DATA´).AsString :=
Table1.FieldbyName(´DTPAGTO´).AsString;

Table2.Post;
Table2.Refresh;

Table1.Next;
end;

Table2.Close;
Table2.Open;

Só tem que ficar esperto com as validações (DATA, NUMEROS, VALORES, etc);

espero ter ajudado

Douglas-Altonia


GOSTEI 0
POSTAR