Aller à la version néerlandaise
À partir de la version 27.0, Invantive UniversalSQL lit les définitions de base de données à partir de settings*.json au lieu de settings*.xml. Les fichiers XML existants sont migrés automatiquement.
Le support du format XML ne sera plus disponible à partir de la version 28.0 d’Invantive UniversalSQL (prévue pour le début de 2028).
Pourquoi
Le format XML date de 2009 et présente deux problèmes qu’un changement de format résout.
- Outils : lire ou générer un fichier de paramètres nécessite XPath et/ou XSLT. Cependant, la plupart des langages analysent le JSON sans bibliothèques supplémentaires. Générer un fichier de paramètres par client ou par environnement devient un exercice de modélisation de texte plutôt qu’un exercice XML.
- Éléments obsolètes : le format XML contient beaucoup d’historique sur les concepts de connectivité de base de données. De nombreux éléments ne sont plus supportés ou pertinents. Le format JSON utilise les concepts actuels, donc ce que vous lisez est ce que signifie le terme.
Format
Le format settings*.json ressemble fortement au format XML. Les changements les plus importants sont :
<connection>est nommédatabase(singulier) oudatabases(pluriel).<database>est nommédataContainer(singulier) oudataContainers(pluriel).
Par exemple :
{ "version": "5"
, "groups":
[ { "name": "ACME"
, "sortingOrder": 100
, "databases":
[ { "name": "acme-eol"
, "shortDescription": "Exact Online"
, "sortingOrder": 10
, "authentication": "Default"
, "dataContainers":
[ { "kind": "dataContainer"
, "provider": "ExactOnlineAll"
, "alias": "eol"
, "order": 10
, "connectionString": "..."
}
]
}
]
}
]
}
Les commentaires et les virgules finales sont tolérés lorsqu’un fichier est lu. Les commentaires et les virgules finales disparaissent si un produit réécrit le fichier settings*.json.
Migration
Des efforts ont été faits pour rendre la migration aussi simple que possible.
La première fois qu’un produit de la version 27.0 lit un fichier settings*.xml pour lequel aucun fichier .json portant le même nom n’existe, il crée ce fichier JSON fonctionnellement identique à côté. Le fichier XML reste inchangé. Les propriétés obsolètes sont ignorées.
Les fichiers produits par la découverte automatique (settings-discovery*.xml) ne sont jamais migrés car ils sont associés à une version majeure spécifique.
Quel format est utilisé
| Version | Comportement |
|---|---|
| 26.0 et antérieures | settings*.xml est utilisé ; un fichier settings*.json est ignoré. |
| 26.1 (BÊTA de 27.0) | settings*.json est utilisé ; un fichier settings*.xml portant le même nom est ignoré et utilisé pour créer la variante JSON. |
| 27.0 | settings*.json est utilisé ; un fichier settings*.xml portant le même nom est ignoré et utilisé pour créer la variante JSON. |
| 28.0 | settings*.json est utilisé ; le format XML n’est plus pris en charge ni utilisé pour créer la variante JSON. |
Lorsqu’un environnement utilise uniquement la version 27.0 ou plus récente, tous les fichiers settings*.xml peuvent être supprimés en toute sécurité lorsque le fichier au format JSON existe.