PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Problème de blocage de table
Problème de blocage de table
Débuté par MOHAMED ALAMI, 18 sep. 2018 11:50 - 12 réponses
Membre enregistré
8 messages
Posté le 18 septembre 2018 - 11:50
Bonjour;
j'ai un problème de blocage de table lorsque je travaille avec une application développée avec windev 23 sur une base de données sqlserver en utilisant une connexion windev accès natif v23, l'environnement de travaille est : windows server 2012, sqlserver 2012 entreprise. la base de données englobe 95 tables avec pour certaines des tailles qui depassent les 2 millions d'enregistrements.

Je cherche à avoir l'avis des personnes qui ont un environnement semblable avec des bases de données importantes.

Salutations
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 18 septembre 2018 - 12:45
Cela peut être un inter blocage
Tout dépend de l'action menée par WinDev et par d'autres utilisateurs en même temps.

Regardez sur google : SQL Server et interblocage.
Membre enregistré
8 messages
Posté le 18 septembre 2018 - 14:43
Bonjour;
Merci pour votre collaboration, j'ai consulté sur google les sujets "SQL Server et interblocage".
mon problème de blocage apparaît lorsqu'on laisse deux cession inactives pendant un certains temps ( entre 10 et 15 minutes)
La mise en veille peut-elle avoir une influence sur le blocage.

Salutations
Membre enregistré
148 messages
Popularité : +4 (14 votes)
Posté le 19 septembre 2018 - 08:16
Bonjour

Votre problème est se réside dans la gestion d'ouverture et fermeture de vos fenêtres, alors la mémoire de votre machine est saturé.
Donc essayez de refaire la gestion de vos fenêtres, voire votre code
Bon dev

--
FETOUI MOHAMED
Développeur, Consultant et Formateur WinDev, WebDev et WinDev Mobile
fib.fetouimed@menara.ma
https://www.linkedin.com/pub/mohamed-el-fetoui/a0/680/109
MAROC+212(0)661249774
Membre de http://www.be-dev.be
Skype : fetoui.mohamed3
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 19 septembre 2018 - 09:25
Concrètement il se passe quoi ?
Votre application WinDev laissée un certain temps inactive ne parvient plus à accéder aux données ?
Membre enregistré
8 messages
Posté le 19 septembre 2018 - 11:51
Bonjour;

Je vous donne le scénario exacte :

1 - Exécution de l'application sur un poste client A, choix de l'option gestion des véhicules, modification d'un véhicule, confirmation.
2 - Exécution de l'application sur un poste client B, choix de l'option gestion des véhicules, modification d'un véhicule, confirmation.

Après avoir laissé inactives les deux session pendant 10 à 15 minutes :

3- Je reviens à la session du poste A (la 1 ère), pour refaire la modification du véhicule, celle-ci se plante après la saisie du matricule (clé de recherche)
car la 2 ème session bloque la table véhicule (vérifié sur sql studio).
pour débloquer on doit aller sur la 2 ème session poste B, on fait une opération de modification ou de consultation du même véhicule ou d'un autre.

on reviens sur le poste A, on trouve qu'il a été débloqué.

NB: Le problème se présente uniquement lorsqu'on laisse les deux sessions inactives pendant 10 à 15 minutes.

Je reste à votre disposition pour tous compléments d'informations.

Merci pour votre collaboration

Salutations
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 19 septembre 2018 - 12:09
Bonjour,

Le serveur SQL est local ou distant ?
Membre enregistré
8 messages
Posté le 19 septembre 2018 - 13:23
Bonjour;
Le serveur est local.

Je reste à votre disposition pour tous compléments d'informations.

Merci pour votre collaboration

Salutations
Membre enregistré
1 623 messages
Popularité : +100 (114 votes)
Posté le 19 septembre 2018 - 13:51
Ok, j'avais déja eu ce genre de phénomène sur d'autres protocoles mais que sur distant, ça venait de la connexion internet (ou du routeur)
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 19 septembre 2018 - 16:33
Je reviens à mes interblocages
Si vous essayez cette syntaxe SELECT * FROM MaTable WITH(NOLOCK)
Membre enregistré
8 messages
Posté le 19 septembre 2018 - 17:24
Merci pour l'intérêt accordé à ce problème,
l'application objet de ce problème vient d'être migrer de windev 9, sqlserver 2005 et accès natif 9 vers windev 23, sqlserver 2012 entreprise et accès natif 23.
Elle fonctionne parfaitement depuis 10 ans, dois-je modifier le code de l'application après migration ?

Salutations
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 19 septembre 2018 - 18:00
Je suppose que si vous ne modifiez rien les choses resteront inchangées et le problème avec.
C'est la raison pour laquelle je vous ai proposé de faire ce test.
Membre enregistré
6 messages
Posté le 23 septembre 2018 - 17:10
Bonjour,
Utilisation conseillé de WITH (NOLOCK) sur de grosses tables avec beaucoup d'accès simultanés

Cdt