Copiar dados entre databases diferentes

09/06/2004

0

Como faço, no IBconsole ou ferramenta similar (IBExpress) para copiar dados entre tabelas que estão em bancos diferentes? No SQL server eu simplesmente uso o script abaixo:

insert into DATABASE1.Tabela
select * from DATABASE2.tabela

Mas no IBconsole ou IBexpress notei que, mesmo tendo registrado os 2 databases em questão, não consigo referenciar ambos num mesmo script...


Skyzytuz

Skyzytuz

Responder

Posts

10/06/2004

Afarias

vc pode gerar um script com os dados do banco de origem (INSERTS) e executar no banco de destino.


T+


Responder

10/06/2004

Skyzytuz

vc pode gerar um script com os dados do banco de origem (INSERTS) e executar no banco de destino. T+


Eu sei, mas esta é uma solução um tanto tosca e até inaplicável em alguns casos. Se eu precisar transferir uma quantidade muito grande linhas por exemplo, o script ficará gigantesco. Mas até aí tudo bem, dá pra fazer.

A coisa complica quando eu preciso especificar uma condição que envolva a tabela destino ou ambas as tabelas, preciso fazer um sub-select, ou pior ainda, quando preciso fazer um UPDATE. Aí dá um trabalho do cão, pois preciso editar manualmente o script, inserir as condições, etc etc (pois o ambiente de origem não conhece as condições) Imagine um script de 30 mil linhas onde cada linha tenha valores diferentes e por aí vai...

Mas o maior problema é o seguinte: Ocorre que estou migrando de um SQL Server para Interbase, e por questões de organização e elegância de projeto, cada sistema da empresa está em um BD diferente, mas eles são todos integrados, ou seja, os sistemas consultam ou em alguns casos alteram algumas tabelas de outros sistemas. Existe inclusive um BD reservado para tabelas comuns a todos os sistemas (por exemplo, CLIENTE é da empresa como um todo, e não de um único sistema ou BD).

Daí que tenho uma penca de stored procedures que acessam vários BDs, e pelo que vi, vou ter que colocar tudo em um ´caldeirão´ só no Interbase... Não existe mesmo solução? Vou ter que mudar de filosofia e jogar tudo num lugar só?

Acho curioso o IBConsole enxergar (registrar) vários BDs mas tornar impossível acessar mais de um no mesmo script, afinal, está tudo no mesmo servidor. Não entendi o porquê desta limitação...




Mas não existe uma solução mais simples e elegante com a do Sql Server que S


Responder

07/11/2017

Igor Santana

Bom dia men,
Conecte no banco que esta e passe as informações assim :
INSERT into [BASEDESTINO].TABELA SELECT * from TABELA
Caso tenho chaves primarias ou estrangeiras acho que não funcionara
Estou com mesmo problema tentei executar o codigo mas como ele tem chaves apresenta erro.
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar