PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → base de données hfsql avec synchro et accès direct : le PB des ID automatiques
base de données hfsql avec synchro et accès direct : le PB des ID automatiques
Débuté par JPB, 10 avr. 2019 12:04 - 1 réponse
Membre enregistré
118 messages
Popularité : +3 (3 votes)
Posté le 10 avril 2019 - 12:04
Bonjour à tous,
j'ai crée une application qui fonctionne sur la base d'une bdd centrale (hfsql) et des fichiers fic locaux avec synchronisation des données via un serveur de réplication.
Tout fonctionne.
On m'a demandé de faire une version "sans synchro" de cette appli (qui accèdera donc directement à la bdd.
Mais pb: lorsqu'on fait un hajoute, l'ID auto de chaque table va toujours se caler sur l'IDmax+1
Or cet IDmax correspond à une plage d'ID déjà attribué à l'un ou l'autre des utilisateurs.
Comment faire ?
j'ai bien pensé à créer un enregistrement dans chaque table avec un ID très élevé et qui soit en dehors des plage d'ID attribuées mais comment être certains que cet ID sera toujours le plus élevé ?
y'a ptet d'autres solutions mais pour l'instant je ne vois pas...
D'avance merci de votre aide !
Message modifié, 10 avril 2019 - 12:04
Membre enregistré
118 messages
Popularité : +3 (3 votes)
Posté le 16 avril 2019 - 11:05
j'ai trouvé:
il suffit de créer une nouvelle synchro (qui va prendre une plage d'ID pour chaque table).
Ensuite, on va rechercher l'IDautoMin et Max qui ont été attribué sur les fichiers en local.
on crée une table qui référence ces ID avec un champ pour noter le nombre de création
et on les utilise avec un hajoute et l'option IDforceAuto.
Enfin, on n'utilise jamais la synchro créé précédemment
ainsi, la plage d'ID réservé ne sera jamais utilisée par aucune synchro et les ajouts direct sur la base se feront sur des ID libre.