Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 12h41   #1
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Par défaut Recherche de technique de mise a jour !

Bonjour a tous

Mon problème est le suivant j'ai une base centrale fixe avec une seul table et des copies de cette base sur des ordinateurs portables.
Les ordinateurs portables vont sur le terrain pour modifier (corriger) certaines informations.
A leur retour il faut prendre seulement les donnée modifiées pour les fondre dans la base fixe.
j'ai donc crée un champ qui prend la mention "MODOFIE" et un autre champ qui prend la date du jour.
Avec donc un , je peux avoir toutes les lignes modifiées par jour.
Maintenant comment faire pour répercuter tout ça sur la base fixe ! je parle en terme de syntaxe aussi .

Merçi a tous
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 18h06   #2
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
n'ayant pas la possibilité de me connecter en même temps sur les deux bases j'ai opté pour l’extraction vers Excel en suite importer vers la base fixe à l'aide d'un programme écris. je suis en quête d'autre solution.
merci
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 16h59   #3
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 627
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 627
Points : 4 532
Points : 4 532
pourquoi passer par excel ? un fichier texte devrait suffire
voir même un fichier Script SQL on peut même extraire ce script via le SQL

pour une demande vague , un exemple vague
Code :
1
2
3
 
SELECT 'UPDATE TABLE SET CHAMP='||CHAMP||' WHERE CLE='||CLE
FROM TABLEPORTABLE WHERE MODIFIE='O'
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 17h40   #4
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
j'avoue que je ne connais pas cette technique es que tu m'en dire plus !
Merci
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 18h24   #5
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
ok je pense avoir compris ! (a confirmer)
en faite cette méthode me permet d'automatiser l’écriture de mon script a la fin j'ai plusieurs update des champs qui ont été modifier !.
mais la je doit encore tout ramener dans un fichier script. Dans tous les merci pour l'astuce
Je vais creuser dans ce sens ça me permet d'écrir un programme.
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 07h42   #6
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 627
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 627
Points : 4 532
Points : 4 532
C'est ça (enfin pour le SQL) , ça évite de passer par un excel inutile moins il y a d'interface .....

Mais il y a aussi la solution du fichier CSV dans une table (fichier) externe. Idée a creuser , mais je ne maitrise pas cette technique

Cependant reste un gros Hic : Que se passe t'il si 2 portables (ou plus) modifie le même enregistrement ?
je te suggère de faire une recherche avec le mot clé 'synchronisation'
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h39   #7
Membre du Club
 
Inscription : avril 2003
Messages : 76
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 76
Points : 63
Points : 63
Pour ma part, je créérai une table de "fusion" en utilisant les trigger after insert, update et delete.

Cette table doit avoir une colonne id, id_portable, type_evenement (insert, update et delete)

Lors de l'évènement, il y a un ajout dans "fusion" via un trigger.

La fusion des données utilisera la table "fusion". Bien entendu, pour chaque ligne de cette table, la ligne est supprimée lors de la fusion.
covao est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 14h19   #8
Inscrit
 
Inscription : mai 2004
Messages : 759
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 759
Points : 288
Points : 288
Pour éviter que deux machines modifient en tant la même donnée, une liste est publiée au départ.
Il s'agit de recueils ou mis a jour de données sur des personnes.
je suppose que si cette liste ne comporte pas de doublon.
on peux se passer de ce problème !
les machines mobiles étant sur le même site et les concernés en rang.
j'ai aussi fait une recherche avec le mot clé 'Synchronisation' et la je suis tombé sur Ibreplicator et Talend je vais donc creuser dans ce sens Talend étant open source.
Merci je continu de chercher !
devalender est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 18h25   #9
Membre éprouvé
 
Avatar de JustMe
 
Inscription : juillet 2002
Messages : 432
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 432
Points : 441
Points : 441
Si tu utilise une clé unique (vraiment unique) comme UUID ou GUID cela te permettra d'identifier chaque ligne de façon unique sur toutes les copies ça évitera de dupliquer les mêmes enregistrements sur la base centrale et d'identifier ceux modifiés ou nouvellement créés.
Pour la fusion tu peux utiliser Microsoft Sync Framework ou Firebird Data Sync qui vont te permettre la fusion tout en ressortant les enregistrements modifiés supprimés ou insérés.
__________________
<On fait la science avec des faits, comme on fait une maison avec des pierres : mais une accumulation de faits n'est pas plus une science qu'un tas de pierres n'est une maison> **Poincaré**
http://www.mobile-tactile.com/
JustMe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h28.


 
 
 
 
Partenaires

Hébergement Web