copiar registros entre tabelas de bd diferentes
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.
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
Curtidas 0
Respostas
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
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!
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
12/11/2007
Experimente usar o IBDataPump
GOSTEI 0
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
12/11/2007
Componente? O IBDatapump não é um componente e sim um utilitário.
GOSTEI 0
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
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
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
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
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