L'utilitaire CRFieldsOnlyToXSD.exe fourni avec le runtime Adélia Studio permet de migrer des états Crystal Reports utilisant une base de données de type "Définition de champs uniquement" créée à partir d'un fichier d'interface nommé "_data.ttx" vers des états avec une base de données de type "ADO.NET (XML)" créée à partir d'un fichier d'interface nommé "_data.xsd".
L'utilitaire peut au choix migrer soit un ensemble d'états contenus dans un même répertoire, soit l'ensemble des états contenus dans un environnement Adélia. Dans ce dernier cas, une fois la migration terminée, l'option "Type de fichier interface" du groupe "Crystal Reports" de l'onglet "Divers" des attributs de l'environnement est positionnée à la valeur "Fichier interface XSD", et les nouveaux états créés dans l'environnement s'interfaceront systématiquement avec un fichier XSD nommé "_data.xsd".
CRFieldsOnlyToXSD /DIR:<NomRepertoire> /OUT:<FichierLogHTML>
Cette commande permet de migrer l'ensemble des états contenus dans le répertoire <NomRepertoire>. Le rapport de la migration est contenu dans le fichier <FichierLogHTML>.
CRFieldsOnlyToXSD /ENV:<NomEnviron> /OUT:<FichierLogHTML>
Cette commande permet de migrer l'ensemble des états contenus dans l'environnement Adélia <NomEnviron>. Le rapport de la migration est contenu dans le fichier <FichierLogHTML>.
Attention :
- Toujours faire une sauvegarde de la base de données de l'environnement Adélia avant de procéder à la migration.
L'état ne doit pas contenir de zone *USER (ou *PGM) dans la définition d'un groupe ou comme zone de liaison entre un état et un sous-état.
- Il est recommandé, avant la migration, de modifier/remaquetter les états faisant référence à de multiples fichiers d'interfaces (_common.ttx, _Var.ttx, Entitexxx.ttx) afin d'obtenir un état avec un unique fichier d'interface "_data.ttx". En cas de conservation des fichiers d'interfaces multiples, les fichiers Entitexxx.ttx référencés ne doivent pas contenir le caractère £ ou $.
- Les zones de type Date ou Time sont automatiquement transformées en DateTime. Il peut être nécessaire de modifier la maquette pour appliquer le format adéquat afin d'afficher uniquement la date ou l'heure.
Détail du rapport de migration
La migration produit un rapport au format HTML.
Ce dernier présente en premier lieu un en-tête avec le nom de la commande exécutée, la date et l'heure de démarrage de la migration ainsi que la version du runtime Crystal Reports .NET utilisée :
Ensuite, le rapport liste l'ensemble des états migrés : un statut et un commentaire sont affichés pour chaque état indiquant si la migration a réussi ou échoué.
Le statut peut prend la valeur "OK" ou "ERROR". Dans le cas d'un statut "ERROR", le commentaire donne des informations complémentaires liées à l'erreur.
En cas de statut "OK", le commentaire indique :
- si l'état a été migré ou s'il est resté inchangé (car aucune source de données n'a été trouvée ou que la source de données était déjà de type 'ADO.NET(XML)')
- la nature de l'interfaçage de la base de données :
- Simple : un seul fichier d'interface (_data.ttx)
- Multiple : plusieurs fichiers d'interface (_common.ttx, _Var.ttx, Entitexxx.ttx)
Exemple d'états migrés avec succès avec un seul fichier d'interface (_data.ttx)
Exemple d'état migré avec succès avec plusieurs fichiers d'interface (_common.ttx, _Var.ttx, Entitexxx.ttx)
Exemple d'état resté inchangé - aucune source de données ou source déjà de type ADO.NET(XML)
Exemple d'état pour lequel la migration a échoué. Le commentaire présente le message de l'exception ayant provoqué l'erreur.
Enfin, le rapport se termine en indiquant l'heure de fin de la migration, la mise à jour éventuelle de l'attribut d'environnement "fichier d'interface XSD", le nombre total d'états traités, le nombre et les noms d'états pour lesquels la migration a échoué.