PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → 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
Iniciado por JPB, 10,abr. 2019 12:04 - 1 respuesta
Miembro registrado
118 mensajes
Publicado el 10,abril 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 !
Mensaje modificado, 10,abril 2019 - 12:04
Miembro registrado
118 mensajes
Publicado el 16,abril 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.