A voir également:
- Logiciel Comparaison Données
- Logiciel aménagement intérieur gratuit - Guide
- Logiciel montage video gratuit - Guide
- Logiciel scanner - Télécharger - Divers Bureautique
- Dactylo logiciel - Télécharger - Divers Bureautique
- Spss logiciel gratuit - Télécharger - Outils professionnels
3 réponses
sebsauvage
Messages postés
32847
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 656
8 avril 2004 à 10:44
8 avril 2004 à 10:44
Il y a une méthode relativement peu couteuse:
Exporter chaque table, triée selon la clé primaire, sous format CSV.
Puis comparer ces CSV entre eux avec des logiciels comme diff ou ExamDiff (ou même par ton programme lui-même).
ça permet de développer rapidement des systèmes de comparaison.
Et ça marche généralement assez bien pour voir les enregistrements ajoutés, supprimés ou modifiés.
Exporter chaque table, triée selon la clé primaire, sous format CSV.
Puis comparer ces CSV entre eux avec des logiciels comme diff ou ExamDiff (ou même par ton programme lui-même).
ça permet de développer rapidement des systèmes de comparaison.
Et ça marche généralement assez bien pour voir les enregistrements ajoutés, supprimés ou modifiés.
tout d'abbord merci pour ta réponse mais une chose que j'aurais du expliker: j'ai environ 100 tables sur différents SGBDR (SQL Server , Oracle et Access) et faire l'export pour chaque type 100 * 3 = 300 exports en CSV sachant que l'export est différent pour chaque type de SGBDR. et donc voila pour quoi je cherche a mettre tout ca dans un prog.
Merci encore
Merci encore
sebsauvage
Messages postés
32847
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 656
8 avril 2004 à 14:11
8 avril 2004 à 14:11
Je vois.
Dans ce cas, il faut extraire automatiquement le nom des tables, et les exporter en automatique.
Par exemple sous SQL Server, pour avoir la liste des tables d'une base on fait:
select name from sysobjects where xtype='U'
Je pense qu'on doit pouvoir faire l'équivalent pour chaque type de serveur de base de données.
Bien sûr il faut avoir assez d'espace disque pour stocker tout cela...
Dans ce cas, il faut extraire automatiquement le nom des tables, et les exporter en automatique.
Par exemple sous SQL Server, pour avoir la liste des tables d'une base on fait:
select name from sysobjects where xtype='U'
Je pense qu'on doit pouvoir faire l'équivalent pour chaque type de serveur de base de données.
Bien sûr il faut avoir assez d'espace disque pour stocker tout cela...
sebsauvage
Messages postés
32847
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 656
>
ezzahiri
8 avril 2004 à 14:39
8 avril 2004 à 14:39
Access, Oracle et SQL Server sont tous fournis avec des pilotes ODBC.
Il suffirait donc d'un programme générique supportant ODBC, et faisant les requêtes adéquates sur chaque type de serveur pour récupérer la liste des tables et récupérer les données.
Il suffirait donc d'un programme générique supportant ODBC, et faisant les requêtes adéquates sur chaque type de serveur pour récupérer la liste des tables et récupérer les données.
Bien qu'il soit un peu tard pour répondre à cette question , une réponse peut toujours intéresser ceux qui comme moi tomberont sur cette discussion para hasard :
http://blogs.developpeur.org/...
où il est dit :
"Tablediff" est un outil situé dans "C:\Program Files\Microsoft SQL Server\90\COM", disponible dans n'importe quelle édition de SQL Server 2005 (à verifier pour Express). Elle est utilisée par la réplication pour la comparaison des données lors d'une synchronisation de snapshot.
Comment fonctionne cette commande ?
Vous avez 2 groupes d'options « source » et « destination ». Par défaut vous n'avez qu'à spécifier le serveur, la base de données et la table. Voici un exemple simple :
tablediff -sourceserver .\devx64 -sourcedatabase northwind -sourcetable employee -destinationserver .\devx86 -destinationdatabase northwind -destinationtable employee
Ici je compare la table « employee » de la base « Northwind » de mon instance locale « devx64 » avec mon instance locale « devx86 ». Le tout avec l'authentification Windows pour la connexion.
Pour aller plus loin vous pouvez utiliser le nom du schéma, un nom d'utilisateur et mot de passe dans les options de sources et de destination.
Le plus important, c'est qu'il est possible de choisir le mode de comparaison des données :
« -q » permet de ne comparer que le nombre d'enregistrement des 2 tables
« -c » permet de faire une comparaison complète de tous les champs
Il est aussi possible à l'aide de l'option « -f » de créer un fichier de script SQL permettant de mettre à jour la table de destination pour qu'elle soit la copie conforme de la table source.
Un outil indispensable et gracieusement offert avec SQL Server 2005.
http://blogs.developpeur.org/...
où il est dit :
"Tablediff" est un outil situé dans "C:\Program Files\Microsoft SQL Server\90\COM", disponible dans n'importe quelle édition de SQL Server 2005 (à verifier pour Express). Elle est utilisée par la réplication pour la comparaison des données lors d'une synchronisation de snapshot.
Comment fonctionne cette commande ?
Vous avez 2 groupes d'options « source » et « destination ». Par défaut vous n'avez qu'à spécifier le serveur, la base de données et la table. Voici un exemple simple :
tablediff -sourceserver .\devx64 -sourcedatabase northwind -sourcetable employee -destinationserver .\devx86 -destinationdatabase northwind -destinationtable employee
Ici je compare la table « employee » de la base « Northwind » de mon instance locale « devx64 » avec mon instance locale « devx86 ». Le tout avec l'authentification Windows pour la connexion.
Pour aller plus loin vous pouvez utiliser le nom du schéma, un nom d'utilisateur et mot de passe dans les options de sources et de destination.
Le plus important, c'est qu'il est possible de choisir le mode de comparaison des données :
« -q » permet de ne comparer que le nombre d'enregistrement des 2 tables
« -c » permet de faire une comparaison complète de tous les champs
Il est aussi possible à l'aide de l'option « -f » de créer un fichier de script SQL permettant de mettre à jour la table de destination pour qu'elle soit la copie conforme de la table source.
Un outil indispensable et gracieusement offert avec SQL Server 2005.