Ce source a été réalisé à la demande de BraWeb.
Ce programme est un exemple d'exportation directe de données d'une table (quelque soit la base de données) vers un fichier Xml et d'importation des données contenues dans ce fichier en passant par une table temporaire en mémoire (à ce moment il sera possible de retraiter les données si besoin).
Pour ce faire, j'ai utilisé 2 composants freeware dont je remercie les auteurs pour leur excellent travail.
N'hésitez pas à aller voir leur site :
http://tech.groups.yahoo.com/group/xmldataset/ et
http://tech.groups.yahoo.com/group/memtable/
Les étapes pour la compilation :
1) Décompresser le contenu de l'archive dans un dossier (avec l'option de création des dossiers)
2) Installer les composants kbMemTable et XmlDataSet dans Delphi qui se trouvent dans le dossier "Package à installer"
3) Ouvrir et compiler le projet "TestXml"
En espérant que ce code aide d'autre développeur (et qu'il n'y a pas eu de source similaire lol).
Boris
Ben oui, nous codons principalement sous Delphi 6 pour le développement Win32 (par soucis d'interopérabilité avec nos anciens codes). D'ou les composants que nous utilisons.
Sinon concernant l'utilisation du Xml comme support de sauvegarde, il est clair que ce n'est pas forcement le meilleur et le plus optimisé. Mais comme dit DelphiProg, il faut penser à l'interopérabilité et surtout obtenir un support qui puisse perdurer dans le temps (un fichier de données dans un format texte pourra toujours être lu facilement quelque soit les changements effectués dans le SGBDR).
Concernant la taille que peut prendre un fichier au format Xml, il faut savoir qu'il est aussi possible de compresser les fichiers résultants au format Zip ou autre (Voir le composant DelphiZip que vous pouvez trouver à l'adresse suivante : http://www.delphizip.org/index.html).
D'autre part, il est tout à fait possible de ne pas utiliser le composant TXmlDataSet. Il suffit de créer dynamiquement dans sa base de données une table temporaire qui fera office de table tampon à l'importation. Rien de bien compliqué.
Pour faire un système d'Archivage / Restauration, on peut aussi simplement utiliser une autre base de données ayant la même structure que celle d'origine et déplacer dedans les données.
DelphiProg : oui en effet j'aurais pu dissocier la partie exportation et importation dans des unités séparées. Mais là c'était juste pour montrer un petit exemple.
Enfin bon, la seule limitation en fait est notre imagination. Ne sommes nous pas des artistes ;-)
En revanche, c'est aujourd'hui la clé de voûte de l'interopérabilité et c'est ce qui fait son fort.
Virtuellement, il n'existe pas de limite de volume pour un fichier XML.
Raisonnablement, il faut voir...
Pour la sauvegarde d'une BDD volumineuse, cela ira donc de la simple copie à l'archive compressée classique.
Mais bon, là on s'écarte du sujet de la source de Blatour et ce genre de discussion devrait se poursuivre plutôt sur le forum si tu es d'accord...
Mais se que je veux avoir es que c'est l'outils idéale pour l'archivage (la sauvegarde ) des Données importé d'une Big database.
On est démarrer de cette discutions moi et BLATOUR l'outils d'archivage a mes connaissances XML est un langage semi-structurer exploité plus dans le coté Web (a cause que il a une structure d'arbre) qui permet la faciliter de circulation des données venu d'une BD comme ceci
Server DATABASE---XML----client
Se problème de sauvegarde n'existe pas avec des SGBDR par ce que il ont son propre outils de sauvegarde
Mais les autres SGBD il n'existe pas alors comment faire pour la sauvegarder on les copient complètement (BD ) ou les l'exporté dans des fichiers XML c'est on a choisir le 2eme Cas l'exporter alors quelle est la taille Maximale que peux accepter un document XML sachant que il c'est fichier semi-structuer et BD fichier structurer
Si quelqu'un veut compléter ou rectifier...
Quant à la suite TXmlDataSet, elle devra subir un lifting pour fonctionner sous Delphi .Net.
Malgré cela, on reconnait là un code de qualité où la simple lecture du source ainsi celle des commentaires en disent suffisamment sur le niveau de pratique.
Un petit regret : tu aurais pu mettre le code concernant l'importation et l'exportation dans une unité séparée, ce qui l'aurait rendu plus facilement réutilisable.
Félicitations.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.