Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1714 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Fusion de BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fusion de BDD

n°2160018
lp77
Posté le 12-10-2012 à 12:31:19  profilanswer
 

Bonjour  :hello:  
On a deux postes ayant chacun une BDD de structure identique, on voudraient les centraliser régulièrement vers une 3ème BDD (je précise que l'on a des clés dans les BDD ... ) . Avez vous une solution ? (j'avais penser à une back up des deux BDD et un import sur la 3ème BDD même si les ID seront décalés on peut toujours se retrouver avec les références je pense)
Merci

mood
Publicité
Posté le 12-10-2012 à 12:31:19  profilanswer
 

n°2160049
flo850
moi je
Posté le 12-10-2012 à 14:36:56  profilanswer
 

utiliser un ETL : en gratuit, talend est très bien
ça va te permettre en bonus de gérer la planification, la reprise sur erreur,les rapports, ....


Message édité par flo850 le 12-10-2012 à 14:37:22

---------------

n°2161326
lp77
Posté le 25-10-2012 à 10:11:14  profilanswer
 

Merci, je reformule :
On a deux serveurs SQL avec deux BDD de structure identique (régulièrement on fait des BACK UP et DELETE car on se retrouve avec énormément de ligne ...). On me demande d'avoir une 3ème BDD sur un 3ème serveur SQL qui regroupe les données des deux BDD (il n'y a pas de clés dans la BDD ).
J'ai penser à décomposer la tâche de la manière suivante :
- Réaliser un BACK UP avant toute opération (j'ai un script en BAT pour ça ...) ;
- Importer les deux BDD vers le 3ème serveur (uniquement les nouvelles données et sans écraser les anciennes)
Je programmerai après l'execution du script (si c'est pas possible avec un logiciel, même payant!)
Je ne vois pas comment m'y prendre ?
Merci;


Message édité par lp77 le 25-10-2012 à 10:11:39
n°2161328
flo850
moi je
Posté le 25-10-2012 à 10:15:10  profilanswer
 

Essaye talend data intégration ( http://fr.talend.com/products/data-integration )  
 
Là, tu es en train de réinventer la roue.


---------------

n°2161329
lp77
Posté le 25-10-2012 à 10:20:31  profilanswer
 

Ok, je vais voir comment m'y prendre.

n°2161330
lp77
Posté le 25-10-2012 à 10:25:27  profilanswer
 

ca a l'air d'être un logiciel difficile à utiliser, peux tu me donner quelques indications ?

n°2169858
lp77
Posté le 04-01-2013 à 14:27:09  profilanswer
 

Un nouveau soucis (pour les précédents ca c'est amélioré) , j'ai l'erreur suivante (je réalise un script pour fusionner deux bdd)

Code :
  1. Duplicate entry '3' FOR KEY 'PRIMARY'


Au fait sur la BDD1 j'ai une ligne avec une clés primaire 3 et sur la BDD2 j'ai déjà une ligne avec l'id 3 mais ce ne sont pas les mêmes informations ... Il refuse d'importer la ligne de la BDD2 !
Avec TALEND je serai épargner de ce probléme (je ne l'ai encore jamais utilisée, j'étais partis sur un script sql mais ça bloque ...)
Merci beaucoup!  

n°2169895
lp77
Posté le 04-01-2013 à 17:02:49  profilanswer
 

L'idéal serait d'importer dans bdd3 uniquement les champs suivants la clés primaires, (la clés primaires s'incrémente toute seules de toute façons), je ne vois pas comment faire ?
J'ai remplacé l'étoile par les champs (sauf la clés primaire) mais je suis obligé de la mettre !

Code :
  1. INSERT INTO bdd3.config
  2. SELECT *
  3. FROM bdd2.config bdd2


Merci beaucoup!

n°2169993
lp77
Posté le 05-01-2013 à 19:29:29  profilanswer
 

Personne ?
J'ai deux BDD de même structure, le but est d'importer les données de la 1ére BDD dans la 2éme, pour éviter les doublons j'aimerai donc ne pas copier le champs _id (clés primaires) des tables, c'est possible ?
Ma requête pour l'instant :

Code :
  1. INSERT INTO bdd3.config
  2. SELECT *
  3. FROM bdd2.config bdd2


J'avais penser à mettre à la place de l'étoile les collones suivant la clés primaire mais j'ai un message d'erreur (count colonm) ...
Merci de m'aider !!!

n°2170033
lp77
Posté le 06-01-2013 à 17:50:16  profilanswer
 

Personne ? Je galère vraiment sur ce sujet !!!!

mood
Publicité
Posté le 06-01-2013 à 17:50:16  profilanswer
 

n°2170041
boboss75
Posté le 06-01-2013 à 20:23:18  profilanswer
 

a mon sens avoir des BDD identiques par postes (qu'il faut après synchroniser ou fusionner régulièrement) c'est qu'il y a un problème dès le départ d'architecture
Ne serait-ce pas possible plutôt de n'avoir qu'une seule et unique BDD avec tes 2 postes reliés dessus ?
-> c'est justement à ça que sert une BDD
si un jour tu as un 3ème poste tu refais une nouvelle BDD ?

n°2170042
lp77
Posté le 06-01-2013 à 20:26:48  profilanswer
 

non au fait elles sont sur des bancs de tests, et les bancs sont déconnectes au réseau de l'entreprise

n°2170043
lp77
Posté le 06-01-2013 à 20:27:50  profilanswer
 

Aucune idée pour éviter de copier le champs clés primaire de chaque table avec la requête suivante :
 
    INSERT INTO bdd3.config
    SELECT *
    FROM bdd2.config bdd2

n°2170056
Soileh
Lurkeur professionnel
Posté le 06-01-2013 à 22:52:29  profilanswer
 

Et la requête suivante pourrait-elle correspondre à ce que tu souhaites ? :??:
 

Code :
  1. INSERT INTO bdd3 (col1, col2, ..., coln)
  2. SELECT col1, col2, ..., coln
  3. FROM bdd2


---------------
And in the end, the love you take is equal to the love you make
n°2170058
lp77
Posté le 06-01-2013 à 23:03:41  profilanswer
 

A la place de l'étoile j'avais déjà mis les champs suivant la clés primaire, mais il y avait une erreur 'count column' !

n°2170060
Soileh
Lurkeur professionnel
Posté le 06-01-2013 à 23:13:39  profilanswer
 

J'avais bien lu  [:cupra]  Mais as-tu essayé de donner la liste des colonnes à remplir dans la requête ?


---------------
And in the end, the love you take is equal to the love you make
n°2170061
lp77
Posté le 06-01-2013 à 23:25:58  profilanswer
 

d'accord je verrai demain matin, je te donnerai de mes nouvelles !

n°2170082
lp77
Posté le 07-01-2013 à 09:59:12  profilanswer
 

Non il y a une erreur de syntaxe SQL!

n°2170176
lp77
Posté le 08-01-2013 à 10:08:21  profilanswer
 

J'ai commencé à développer un script ... Par contre je dois proposer plusieurs solutions, j'en ai une autre en tête :
Chaque bancs de tests dispose de sa propre BDD (même structure) on voudrait avoir une BDD regroupant toutes les BDD des bancs (MAJ fréquente car après çela je développerai une application d'exploitation des BDD depuis la BDD centralisée). A savoir que l'on peut pas mettre les BDD en réseau car les bancs peuvent être déconnectés du réseau et ils doivent toujours pouvoir faire les tests de produits ...
J'ai donc pensé à dupliquer les BDD sur chaque bancs (back up et importation planifiée) et ainsi utiliser une réplication vers le serveur centralisé (au moins la MAJ sera automatisée pour ce cas). Les bancs pourront continués à fonctionner en cas de non accès au réseau ainsi.  
Avez vous une idée ?

n°2170178
Oliiii
Posté le 08-01-2013 à 10:25:50  profilanswer
 

Avec une replication tu auras les meme problemes de collision de primary keys.
 
Le fix de Soileh devrai fonctionner, trouve et répare l'erreure de syntaxe :)

n°2170180
lp77
Posté le 08-01-2013 à 10:39:51  profilanswer
 

Il n'y a aucune autre solutions ?

n°2170261
Oliiii
Posté le 08-01-2013 à 17:02:22  profilanswer
 

Si, il y en a pleins, mais elles sont toutes hors de protée si tu n'arrives pas a résoudre un probleme de base.
 
L'integrité d'une DB est un principe de base, donc tu devras faire avec, peut importe la solution que tu utiliseras.
 
Dans ce cas ci c'est juste un petit probleme de syntaxe, ca devrai etre facile a reparer et tu pourras faire la copie de tes deux tables en une.


Message édité par Oliiii le 08-01-2013 à 17:02:40
n°2170545
lp77
Posté le 10-01-2013 à 09:32:53  profilanswer
 

J'ai un autre soucis, je veux retirer l'auto incrémentation d'une clés primaire, mais je n'y arrive pas :

Code :
  1. ALTER TABLE BDD0.table1
  2. DROP PRIMARY KEY;


Au fait je veux casser la clés primaire, et y ajouter ensuite une autre collone dans la BDD de synchronisation afin d'identifier la BDD et d'éviter les doublons (vu que la la clés primaire sera composé de deux champs ...)
MERCI!

n°2170551
Oliiii
Posté le 10-01-2013 à 10:16:43  profilanswer
 

La syntaxe (pour SQL Server) c'est: ALTER TABLE MaTable DROP CONTRAINT PrimaryKeyConstraintName

n°2170565
lp77
Posté le 10-01-2013 à 11:21:35  profilanswer
 

Comme autre solution, il y a TALEND ? Est -il facile à configurer pour ce type d'opération ?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Fusion de BDD

 

Sujets relatifs
Sauvegarde incrémentielle de BDDTransfert d'un site WP et Import de BdD
PhP: Comment passer d'une BDD SQL à SQLite?Langages & BDD win8 / wp8 / android / iphone
Optimiser recherche dans une grosse BDD Excelexporté ma BDD (PHPmyadmin - EXEL)
Importation de BDDRésolution d'un TP de BDD sur oOBase
fusion de pls fichiers xlsBesoin d'aide pour structure d'une BDD MySQL
Plus de sujets relatifs à : Fusion de BDD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR