Bonjour,
Alors la solution que j’ai choisi est de créer un projet WD mode console auquel je passe la requête à exécuter et qui renvoie les résultats par mémoire partagée (fMemOuvre etc). Ensuite dans mon programme principal chaque thread appelle cet EXE puis affiche le résultat. Et là chaque résultat est affiché au fil des réponses. On peut donc dire que le blocage n’est ni causé par la base de données, ni par l’accès simultané en SELECT à une même table.si tu exécutes ces différentes requêtes via des programmes totalement différents, est-ce que tu as le même phénomène ?
Uniquement en écriture et si on est dans une transaction qui bloque les tables.c'est que si 2 requêtes attaquent la même table, il peut arriver qu'elles entrent en conflit.
Non je suis sur SQL Server en SQLOLEDBIci, tu as une application 'professionnelle'. Et tu utilises HFSQL
Oui mais là on est sur une application lancée par plusieurs utilisateurs simultanément. Il y a toujours le risque qu’une donnée qu’on lit ne soit plus à jour car quelqu’un vient de la modifier. Ce risque existe toujours, avec ou sans Thread et tant pis si ce n’est plus tout à fait à jour.Pour revenir sur l'idée de tbc92, même si tes requêtes ne font que de la consultation, il est possible que quelqu'un écrive sur la table pendant ta requête.
Donc pas de solution à mon problème mais une solution de contournement
Bonne journée
Partager