ChangeDB
Présentation
ChangeDB est un utilitaire en ligne de commande permettant de modifier, corriger ou ajuster certains paramètres internes des bases binaires DevI/O. Il est destiné aux administrateurs et intégrateurs avancés qui doivent intervenir sur la base sans passer par l’interface graphique, notamment pour des opérations de maintenance, migration ou correction de configuration.
Cet outil agit directement sur les fichiers binaires d’un projet DevI/O : il permet de modifier des valeurs, de réinitialiser des champs, de corriger des utilisateurs/mots de passe, ou d’appliquer des filtres complexes sur les entités (équipements, blocs, données, etc.).
Fonctionnalités principales
- Modification de paramètres internes (flags, familles, périodicité, timeout, timestamp, etc.)
- Correction des utilisateurs et mots de passe (option
-fix-users) - Filtrage et modification par classe, nom, bloc, interface, type d’E/S, etc.
- Opérations par lot sur les équipements, blocs, données, canaux
- Application de regex pour éditer des paramètres
Utilisation
Syntaxe générale
changedb -dbpath <chemin_base_binaire> <options>
<chemin_base_binaire>: Chemin du dossier contenant la base binaire DevI/O (ex :C:\Program Files\DevIO\Data\Bases\MONPROJET_DB_BIN)<options>: Une ou plusieurs options de filtrage ou de modification (voir ci-dessous)
Options principales
-class <classe>: Filtrer par classe d’objet (channel,equipment,data,file,histo)-set <valeur>: Ajouter un flag (bitwise OR sur ulClients)-reset <valeur>: Enlever un flag (bitwise AND sur ulClients)-family <famille>: Modifier la famille d’événement-ts-min <valeur>: Filtrer par timestamp minimum-ts-max <valeur>: Filtrer par timestamp maximum-internal <true/false>: Filtrer sur les objets internes (nom commençant par _)-interface <num>: Filtrer par numéro d’interface équipement-iotype <0/1/2>: Filtrer par type d’E/S (lecture, écriture, lecture-écriture)-name <nom>: Filtrer par nom d’objet (regex possible)-bloc-name <nom>: Filtrer par nom de bloc (regex possible)-channel <index> <condition> <position>: Modifier les canaux d’un équipement-start <index>: Index de début pour les opérations par lot-stride <incrément>: Pas d’incrément pour les opérations par lot-exclude <index> <valeur>: Exclure certains canaux-pool <canal0> ... <canal15>: Modifier le pool de canaux-set-period <valeur>: Modifier la périodicité-set-timestamp <valeur>: Modifier le timestamp-set-timeout <valeur>: Modifier le timeout-editparam <regex> <remplacement>: Modifier les paramètres via regex-fix-users: Corrige les champs utilisateur/mot de passe à partir des paramètres
Exemples d’utilisation
Modifier la famille d’événement de tous les équipements
changedb -dbpath C:\Program Files\DevIO\Data\Bases\MONPROJET_DB_BIN -class equipment -family 6
Corriger les utilisateurs et mots de passe
changedb -dbpath C:\Program Files\DevIO\Data\Bases\MONPROJET_DB_BIN -fix-users
Modifier la périodicité de toutes les données d’un bloc
changedb -dbpath C:\Program Files\DevIO\Data\Bases\MONPROJET_DB_BIN -class data -set-period 1000
Modifier un flag spécifique sur tous les équipements
changedb -dbpath C:\Program Files\DevIO\Data\Bases\MONPROJET_DB_BIN -class equipment -set 0x10
Conseils et bonnes pratiques
- Toujours travailler sur une copie de la base binaire (jamais en production directe)
- Sauvegarder la base avant toute modification
- Utiliser les filtres pour limiter l’impact des modifications
- En cas d’erreur de version, vérifier la compatibilité entre l’outil et la version de DevI/O
- Pour l’assistance, fournir le détail des commandes utilisées et la base modifiée
Limitations
- ChangeDB modifie directement la base binaire : manipuler avec précaution
- L’outil nécessite les droits d’écriture sur le dossier cible
- Les structures internes peuvent évoluer selon les versions de DevI/O