Oracle
 sql >> Base de données >  >> RDS >> Oracle

copier d'une base de données à une autre à l'aide du développeur Oracle SQL - la connexion a échoué

La copy La commande est une commande SQL*Plus (et non une commande SQL Developer). Si vous avez configuré vos entrées tnsname pour SID1 et SID2 (par exemple, essayez un tnsping), vous devriez pouvoir exécuter votre commande.

Une autre hypothèse est que table1 a les mêmes colonnes que message_table (et les colonnes n'ont que les types de données suivants :CHAR, DATE, LONG, NUMBER ou VARCHAR2). De plus, avec une commande d'insertion, vous devez vous préoccuper des clés primaires (par exemple, vous n'insérez pas d'enregistrements en double).

J'ai essayé une variante de votre commande comme suit dans SQL*Plus (sans erreur) :

copy from scott/[email protected] to scott/[email protected] create new_emp using select * from emp;

Après avoir exécuté l'instruction ci-dessus, j'ai également tronqué la table new_emp et exécuté cette commande :

copy from scott/[email protected] to scott/[email protected] insert new_emp using select * from emp;

Avec SQL Developer, vous pouvez procéder comme suit pour appliquer une approche similaire à la copie d'objets :

  1. Dans la barre d'outils, sélectionnez Outils>Copie de la base de données.

  2. Identifiez les connexions source et destination avec les options de copie souhaitées.

  3. Pour le type d'objet, sélectionnez table(s).

  4. Spécifiez la ou les tables spécifiques (par exemple, table1).

L'approche de la commande de copie est ancienne et ses fonctionnalités ne sont pas mises à jour avec la publication de nouveaux types de données. Il existe un certain nombre d'approches plus actuelles à ce sujet, comme la pompe de données d'Oracle (même pour les tables).