Question

En gros, j'essaie de copier sélectivement une table d'une base de données à une autre. J'ai deux bases de données [Oracle] différentes (par exemple, s'exécutant sur des hôtes différents) avec le même schéma. Je suis intéressé par un moyen efficace de charger la table A dans DB1 avec le résultat de l'exécution d'une sélection sur la table A dans DB2. J'utilise JDBC, si cela est pertinent.

Était-ce utile?

La solution

Utilisez un lien de base de données et utilisez create table as select.

create database link other_db connect to remote_user identified by remote_passwd using remote_tnsname;

create table a as select * from a@other_db;

Autres conseils

Si les bases de données proviennent du même fournisseur, elles fournissent généralement un moyen natif de créer une vue. d'une table dans une autre base de données. dans ce cas, un "sélectionner dans" requête ne fera aucun problème

Oracle, par exemple, a le lien de base de données qui fonctionne plutôt bien.

En dehors de cela, vous devrez établir une connexion avec chaque base de données et la lire. d'une connexion et écrivez à l'autre.

Il existe des outils comme ODI d’Oracle qui peuvent faire les démarches, mais ils utilisent tous le même lire, écrire le modèle

Vous n’avez peut-être même pas besoin de déplacer ces données. Vous pouvez peut-être simplement sélectionner le lien dans la base de données.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top