copie de tables d'un serveur à un autre

copie de tables d'un serveur à un autre - SQL/NoSQL - Programmation

Marsh Posté le 08-11-2004 à 14:00:54    

Bonjour, je suis en panne...
Je dois faire une copie de plusieurs tables d'une base1 d'un serveur1 à un serveur2, sur la même base1 et mêmes tables.
J'ai bien essayé avec le DTS mais certaines de mes tables sont de grosse taille, et ça ne fonctionne pas. Je voudrais faire une procédure SQL qui me permette de réaliser ce job et là, je ne trouve pas... Pouvez vous m'aider, please ?
Merci

Reply

Marsh Posté le 08-11-2004 à 14:00:54   

Reply

Marsh Posté le 08-11-2004 à 20:04:05    

avec imp et exp ptet ?
http://www.orafaq.com/faqiexp.htm

Reply

Marsh Posté le 09-11-2004 à 09:25:34    

Bonjour merci pour la réponse. Effectivement avec une procédure d'exp ou imp mais je préfererais en SQL. Oracle je ne maîtrise pas (d'ailleurs ce serait une bonne ocas) mais pour cette tâche, au boulot c'est du pur SQL !
s'il existait un même site mais en SQL ?
merci beaucoup

Reply

Marsh Posté le 09-11-2004 à 22:25:08    

T'utilise quoi comme sgbd ?


Message édité par Diody le 09-11-2004 à 22:25:30
Reply

Marsh Posté le 09-11-2004 à 22:36:23    

salut, si tu ne peux pas utiliser les utilitaires d'import/export (oracle ou autre sgbd) je pense que tu va être obligé de taper un script du style
 
dump.sql
 
spool on ... blalbla
select 'insert into table1 values ('||champs1||','||champs2||')' from table1;
...
 
au final tu obtiendra un script sql géneré qui te suffira de lancer sur l'autre base
apres faut voir a desactiver tes contraintes ou inserer en respectant les dépendance entre tes tables
bon courage !

Reply

Marsh Posté le 10-11-2004 à 09:38:24    

hello, j'utilise SQL 200 Server.  
merci pour les infos.
je pense aussi que je vais me retrouver à créer un script !  
enfin je ne désespère pas de retrouver un moyen requête SQL... si vous avez des idées toujours sur ce sujet, n'hésitez pas.
A+

Reply

Marsh Posté le 10-11-2004 à 12:46:49    

moi j'aurais fais comme ca :

Code :
  1. set linesize 1000
  2. set pagesize 2000
  3. set termout off
  4. set echo off
  5. set heading off
  6. set feedback off
  7. spool c:\test.sql
  8. select 'insert into ARTICLE values ('||id_reference||','||mode_pilotage||');' from ARTICLE;
  9. select 'commit;' from dual;
  10. spool off


au final il va te generer un fichier du type

Code :
  1. insert into ARTICLE values (PF6,3);
  2. insert into ARTICLE values (PF1,1);
  3. insert into ARTICLE values (PF7,1);
  4. insert into ARTICLE values (ENS1,1);
  5. insert into ARTICLE values (P2,2);
  6. insert into ARTICLE values (PF2,2);
  7. insert into ARTICLE values (P15,2);
  8. insert into ARTICLE values (ZENS1,5);
  9. insert into ARTICLE values (P1,1);
  10. insert into ARTICLE values (P3,1);
  11. insert into ARTICLE values (P4,2);
  12. ...
  13. ...

ca c'est valable pour un table apres tu peux fair une requete imbriqué ou une procédure pl ensachant que

Code :
  1. SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER='ton_shema';


... te renvoie la liste des tables


Message édité par DjobaDjobi le 10-11-2004 à 12:48:38
Reply

Marsh Posté le 16-11-2004 à 15:34:08    

merci beaucoup pour toutes ces infos, je vais créer une procédure avec ce code.... Encore merci !
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed