Les bases de données créées avec les versions précédentes de 4D sont compatibles avec 4D v13 (fichier de structure et fichier de données).
Les fichiers des bases de données en version 11 ou 12 sont convertis directement en version 13. Une fois converti, le fichier de structure ne pourra plus être ouvert en version 12 ; le fichier de données pourra être rouvert en version 12 sous certaines conditions, décrites ci-dessous.
Les fichiers des bases de données en version 6.x, 2003.x, 2004.x doivent être convertis par l’intermédiaire d’un assistant et ne pourront plus être ouverts avec leur version d’origine.
Note : Vous pouvez convertir tout fichier de structure interprété. Le fichier peut contenir le code compilé ; dans ce cas, il sera nécessaire de recompiler la base après conversion.
La conversion d’une base v11 ou v12 s’effectue directement lors de l’ouverture du fichier de structure avec 4D v13. Des boîtes de dialogue d’alerte successives vous indiquent que les fichiers vont être convertis et qu’il ne sera plus possible de les ouvrir avec une version précédente.
A noter que la conversion du fichier de données entraîne la reconstruction des index.
Note : Si vous souhaitez convertir une base v11 utilisant une ancienne version de 4D Pack, il est recommandé d’installer avant conversion la version la plus récente du plug-in 4D Pack v11 dans la base d’origine.
Le fichier "Macros.xml" permet de bénéficier de macros-commandes dans l’éditeur de méthodes (cf. section Créer et utiliser des macros). Il est stocké dans le dossier de préférences utilisateur :
Windows XP : C:\Documents and Settings\NomUtilisateur\Application Data\4D\Macros v2\
Windows Vista / Windows 7 : C:\Users\NomUtilisateur\AppData\Roaming\4D\Macros v2\
Macintosh : {disque}:Users:NomUtilisateur:Library:Preferences:4D:Macros v2:
Depuis la version 12 de 4D, de nouvelles macro-commandes sont disponibles. Comme le fichier "Macros.xml" peut avoir été personnalisé, l’installation de la nouvelle version de 4D n’écrase pas automatiquement la version existante de ce fichier.
Pour pouvoir bénéficier des nouvelles macro-commandes SQL de 4D v12, vous devez soit :
supprimer le fichier "Macros.xml" dans le dossier "Macros v2" (si vous ne l’avez jamais modifié) puis lancer 4D. Le nouveau fichier sera automatiquement recréé.
ajouter manuellement les nouvelles macros dans le fichier "Macros.xml" du dossier "Macros v2" (si vous avez déjà personnalisé son contenu). Le nouveau fichier modèle de macros est disponible dans le dossier de l’application 4D, à l’emplacement suivant : 4D\Resources\en.lproj ou 4D\Resources\fr.lproj.
4D v13 peut directement ouvrir des composants v12 ou v11 (compilés ou interprétés) sans conversion ni boîte de dialogue de confirmation. Rappelons que les composants sont toujours ouverts en lecture seule.
Il n’est pas nécessaire de recompiler les composants mais la conversion en v13 n’est possible que sur les fichiers .4DB et non .4DC.
Le tableau suivant livre les scénarios de rétro-compatibilité des fichiers des bases de données 4D convertis en v13, c’est-à-dire la possibilité de les rouvrir avec des versions précédentes :
Versions 4D
Ouverture fichier de structure v13
Ouverture fichier de données v13
4D v11 et précédentes
non
non
4D v12
non
oui si autorisé(*)
(*) Il reste possible de rouvrir en version 12 un fichier de données converti avec 4D v13. Cette possibilité doit être autorisée explicitement côté version 12 à l’aide de l’option Autoriser l’ouverture des fichiers de données v13 située dans la page "Base de données/Gestion des données" des Propriétés de la base :
Par défaut, l’option Non est sélectionnée. Sélectionnez Oui pour autoriser l’ouverture directe des données et Demander pour afficher au préalable une boîte de dialogue de confirmation.
Cette option, destinée à permettre la récupération de données dans des cas spécifiques, doit être utilisée avec précautions :
avant la réouverture des données : dans tous les cas, il est recommandé de supprimer le fichier d’index v13 (fichier .4dindx).
après la réouverture des données : dans le cas où des nouvelles fonctions de la version 13 ont été appliquées aux tables de la base, il est recommandé de compacter ou réparer le fichier de données à l’aide du Centre de Sécurité et de Maintenance.
Les modifications structurelles apportées au niveau du moteur de la base de données de 4D à compter des versions 11 et 12 nécessitent une conversion en profondeur de la structure et des données des bases antérieures. Cette conversion s’effectue via un assistant spécifique. Par sécurité, l’assistant effectue une copie de la base d’origine avant sa conversion, de manière à ce que vous puissiez à tout moment revenir en arrière.
Vous pouvez convertir tout fichier de structure interprété. Le fichier peut contenir le code compilé ; dans ce cas, il sera nécessaire de recompiler la base après conversion. Il est conseillé de vérifier l’intégrité de la base avant la conversion à l’aide de l’utilitaire 4D Tools (compactage, vérification et, éventuellement, réparation de la base). Dans le cas contraire, si une anomalie est détectée durant la conversion, la procédure sera stoppée et l’assistant de conversion vous invitera à utiliser 4D Tools. Vous devez utiliser une version de 4D Tools correspondant à celle de la base.
Pour convertir une ancienne base, il suffit de la sélectionner dans la boîte de dialogue d’ouverture de 4D (cf. section Ouvrir une application locale). L’assistant de conversion apparaît automatiquement :
Cliquez sur le bouton Conversion de la base pour débuter le processus standard de conversion des fichiers de structure et de données. Vous pouvez également visualiser ou modifier les paramètres par défaut utilisés pour la conversion. Pour cela, cliquez sur le bouton Détails > (cf. paragraphe suivant). Par mesure de sécurité, l’assistant de conversion effectue systématiquement une copie complète de la base (structure et données) avant de débuter l’opération. En cas d’échec de la conversion, vous retrouverez ainsi votre base d’origine intacte. La duplication de la base nécessite davantage d’espace sur votre disque. Si l’espace disponible est insuffisant, un message d’alerte vous le signale et la conversion est stoppée.
Les fichiers d’origine sont copiés dans un dossier nommé Replaced Files (Conversion), créé à côté des fichiers originaux. Si le fichier de données se trouve dans le même dossier que le fichier de structure, le dossier Replaced Files (Conversion) contient les deux fichiers d’origine. Si le fichier de données se trouve dans un autre dossier ou sur un autre volume, la conversion crée un dossier Replaced Files (Conversion) pour chaque fichier.
Note : Le fichier d’historique courant de la base convertie est également recopié dans le dossier Replaced Files (Conversion) et un nouveau fichier d’historique vierge est créé.
Si l’assistant a rencontré des erreurs non critiques durant la conversion, elles sont consignées dans le fichier d’historique de la conversion, nommé DataConversion_Log.log et placé à côté du fichier de structure converti.
Certains mécanismes obsolètes ou anciens ne sont plus pris en charge et seront supprimés ou remplacés au cours de la conversion. Pour plus d’informations, reportez-vous au manuel Mise à jour 4D v11 SQL (PDF). Pour une description détaillée de toutes les modifications, reportez-vous au Guide de migration 4D v11 SQL (PDF).
Si vous souhaitez visualiser ou modifier certains paramètres avant d’effectuer la conversion, cliquez sur le bouton Détails >. La boîte de dialogue affiche alors diverses informations concernant les paramètres de conversion. Vous accédez aux pages d’information en cliquant sur les zones correspondantes :
Informations sur le fichier de structure : cette page indique la taille et l’emplacement du fichier de structure d’origine de la base, ainsi que l’emplacement futur de la copie de sécurité de ce fichier.
Informations sur le fichier de données : cette page indique la taille et l’emplacement du fichier de données d’origine de la base, ainsi que l’emplacement futur de la copie de sécurité de ce fichier. Elle permet également de définir le fichier de données à convertir. Par défaut, le fichier de données courant est sélectionné. Vous pouvez créer un nouveau fichier de données vierge (option Créer un nouveau fichier de données) ou choisir de convertir un autre fichier de données en cliquant sur le bouton Choisir un autre fichier de données... Pour plus d’informations sur la conversion de plusieurs fichiers de données, reportez-vous au paragraphe “Conversion de bases utilisant plusieurs fichiers de données” ci-dessous. Le bouton Changer la destination... vous permet de modifier l’emplacement du nouveau fichier de données après conversion.
Informations sur les segments : cette page liste les segments de données associés à la base. Pour plus d’informations sur ce point, reportez-vous au paragraphe “Conversion de bases en multi-segments” ci-dessous.
Informations sur les disques : cette page indique l’espace disponible sur le disque de la base.
Option : cette page contient une option de conversion.
Ne pas exécuter de code à l’ouverture : lorsque cette option est cochée, le code éventuellement exécuté au démarrage de la base est désactivé au premier lancement de la base convertie. Cette option s’applique au code appelé via la Méthode base Sur ouverture. Elle permet de prévenir les erreurs d’initialisation qui peuvent se produire à la suite des conversions.
Après conversion, outre les fichiers d’index .4DIndy et .4DIndx, les bases de données 4D contiennent les éléments supplémentaires suivants :
DataConversion_Log.log : ce fichier stocke les éventuelles anomalies rencontrées lors de la conversion de la base.
Dossier Replaced files : ce dossier contient la copie des fichiers originaux de la base (structure, données et historique) avant conversion.
Catalog.xml : ce fichier contient la description de la structure de base convertie ainsi que des identifiants internes UUID utilisés par 4D en version 12 (cf. section Changer de fichier de données). Sa présence est nécessaire pour que vous puissiez effectuer plusieurs conversions de la structure tout en conservant le même fichier de données. Ce scénario se produit en cas de développement d’une application en version 2004 avec conversion initiale en v12 puis conversions successives du fichier de structure au cours de la phase de développement, tandis que l’application v12 convertie est en exploitation. Seul le fichier de structure est donc converti par la suite. Attention :L'utilisation du fichier Catalog.xml pour effectuer des conversions multiples est une opération délicate qui comporte des risques de perte de données en cas d'erreur de manipulation. Il est recommandé de ne pas laisser l'utilisateur procéder seul à cette opération sans vérification immédiate des données. De manière générale, ce mécanisme spécifique doit être réservé aux cas particuliers, il est déconseillé de poursuivre le développement en version 2004 une fois un déploiement réalisé en v11 ou v12.
Si la base que vous souhaitez convertir utilise plusieurs fichiers de données différents, la conversion de la base et de chaque fichier de données devra être effectuée séparément. La conversion des fichiers de données additionnels est effectuée via la commande Ouvrir>Fichier de données du menu Fichier.
Convertissez la base avec le fichier de données courant.
Dans la structure convertie, choisissez la commande Ouvrir>Fichier de données... dans le menu Fichier ou dans le menu associé au bouton “Ouvrir” de la barre d’outils de 4D. Une boîte de dialogue standard d’ouverture de documents apparaît, vous permettant de désigner le fichier de données que vous souhaitez convertir.
Sélectionnez le fichier de données à convertir et cliquez sur le bouton Ouvrir. La fenêtre de l’assistant de conversion apparaît alors. Les informations relatives au fichier de données sont mises à jour en fonction du fichier sélectionné. Le fichier de données à convertir sera préalablement dupliqué dans un dossier Replaced files (Conversion), selon les principes de conversion standard.
Validez la fenêtre de l’assistant afin de lancer la conversion. A l’issue de la conversion, le fichier de données converti devient le fichier de données courant de la base.
Il n’est pas possible de convertir une structure contenant un composant d’ancienne génération (antérieur à la version 11). Il est impératif de désinstaller tout composant à l’aide de 4D Insider (utilitaire disponible jusqu’en version 2004) avant de procéder à la conversion de la structure.
Pour plus d’informations sur les composants “nouvelle génération”, reportez-vous au chapitre .
A compter de 4D v12, la taille du fichier de données est virtuellement illimitée (à l’exception des limites imposées par le système d’exploitation). Il n’est plus possible de créer ni d’utiliser des segments de données.
Lors de la conversion d’une ancienne base comportant des segments, l’assistant de conversion regroupe le contenu de tous les segments au sein du nouveau fichier de données. Vous devez veiller à disposer de suffisamment de place sur votre disque pour le nouveau fichier de données.
Vous pouvez visualiser les segments d’une base dans la page “Informations sur les segments” de la boîte de dialogue de conversion (cf. paragraphe “Visualiser ou modifier les paramètres de conversion” ci-dessus).
Si un segment est manquant au moment de la conversion, l’assistant de conversion vous permet de le désigner manuellement. Si le segment ne peut être localisé, la conversion ne peut pas être effectuée.
Lors de la conversion d’une base en version 12, les données textuelles sont converties en Unicode. Pour que la conversion soit correctement effectuée, 4D doit connaître le jeu de caractères source. Par défaut, le jeu de caractères correspondant à la langue du système courant est utilisé. Dans les versions précédentes de 4D, il était possible d’associer un jeu de caractères spécifique à des objets de formulaires via la propriété Configuration du clavier. Dans ce cas, 4D ne peut pas déduire de façon certaine le jeu de caractères source car la propriété était stockée avec le formulaire et la saisie pouvait être effectuée via des variables intermédiaires.
Il revient au développeur de déclarer explicitement avant la conversion les jeux de caractères spécifiques utilisés, via un fichier texte placé au même niveau que le fichier de données à convertir. Ce fichier devra avoir les caractéristiques suivantes :
Nom : multilang.txt
Encodage : ANSI ou Mac roman (ne pas utiliser Unicode)
Chaque ligne doit être terminée par un retour chariot (CR ou CRLF), les lignes vides et les espaces sont autorisés.
Exemple : Soit une base avec 4 tables (TABLE_1 à TABLE_4).
Dans TABLE_3 il y a 4 champs Alpha (champ_1 à champ_4)
Dans TABLE_4 il y a 6 champs Entier long et une sous-table SOUSCHAMP avec 2 champs Alpha
La propriété “Configuration du clavier” (dialecte) avait été modifiée de manière à pouvoir saisir du grec dans [TABLE_3]champ_3 et [TABLE_4][SOUSCHAMP]champ_1, et du russe dans [TABLE_3]champ_4 et [TABLE_4][SOUSCHAMP]champ_2
Le fichier multilang.txt devra donc contenir : 3;3;1049 3;4;1032 4;7;1;1049 4;7;2;1032 Les codes de dialecte sont décrits dans le fichier keyboardmapping.xml, présent dans le sous-dossier Resources.
PROPRIÉTÉS
Produit : 4D
Thème : Gestion des fichiers 4D
Nom intl. : Converting databases from previous versions