A cela, je dois rajouter que le driver ODBC utilisé, la toute dernière version téléchargée, pose quelques problèmes de fonctionnement avec ACCESS. il nous oblige à des aménagements des formulaires et requêtes, avec des paramètres trop contraignants comme ceux que j'évoquais dans mon message du 1/9/12 - 18H15
Nous quittons alors les formidables facilités que nous offre ACCESS pour la mise à jour de données...
A présent, je jongle, et j'applique des commandes SQL directes pour passer outre certains verrous d'enregistrements lors de mises à jour de requêtes en cascade avec des tables liées...
Il me reste à présent seulement la gestion de mes REQUETES, qui continuent d'être en LECTURE SEULE...
Si vous connaissez ACCESS, je suis obligé pour passer de décrire mes formulaires avec le paramètre TYPE DE RECORDSET à
Feuille rép.dyn.(MAJ globale)
Au lieu de :
Feuille de réponse dynamique
Essayez :
select * from pg_stat_activity a join pg_locks l on a.procpid = l.pid where procpid <> pg_backend_pid();
pour n'afficher que les requêtes et verrous autre que ceux liés à la requête en cours, lorsque des requêtes sont bloquées
]]>Pour l'odbc, je ne connais pas plus que ça. Je remarque cependant que "Protocol" vaut 7.4-1, vous pourriez essayer avec 9.0 ou 9.1 si cela améliore les choses.
]]>Mon programme fonctionne d'abord dans 1 environnement Windows 2003 serveur.
Nous allons migrer sous peu, sur 1 nouveau serveur de type Windows v2008
PostgreSQL fonctionne sous Ubuntu 12.04 LTS 64 bits
La version de PostgreSQL est la v9.1 en 32 bits
La version du connecteur ODBC :
PostgreSQL UNICODE 9.01.02.00 PSQLODBC35W.DLL 20/08/2012
Le résultat de votre requête :
http://pastebin.com/aMc0FqnU
Merci de votre concours
]]>difficile de répondre sans plus de détails. C'est tout de même assez étonnant car le principe du moteur postgres fait qu'il y a normalement peu de verrous. Les problèmes de verrouillage sont ils constant ou ponctuels ? Si vous avez plus d'informations sur la volumétrie de la base, le nombre d'utilisateurs connectés, la version de postgresql, la version des drivers odbc ...
Pour avoir plus de détails sur les verrous en cours, pouvez vous dire ce que renvoie cette requête :
select * from pg_stat_activity a join pg_locks l on a.procpid = l.pid
]]>J'ai choisi ODBC parce que je me dis que je dois rencontrer 1 problème lié à l'attachement de mes tables à mon programme...
]]>Il s'agit d'1 requête que j'appelle ensuite pour compléter les champs :
ComptaBolero_Mvts.datetransfert et ComptaBolero_Mvts.ecritureattente
Tout est verrouillé désormais...
Mon problème viendrait il des paramètres d'attachement de la table en question ?
1 base de données du type de celle de PostgreSQL permet de prendre 1 bonne dimension, sans être prisonnier d'1 solution TOUT Microsoft... Avec SQL Server, ce type d'anomalie ne se produit pas...
Le verrouillage de ma requête ne se faisait pas non plus avec MySQL...
J'utilise 1 grosse application développée depuis des années sous ACCESS (DAO).
J'ai migré 1 partie de ma base de données sous PostgreSQL...
Au fur et à mesure de l'utilisation de mon programme et peut-être de l'adaptation de quelques structures de champs, ma base s'est peu à peu bloquée :
- Verrouillage de requêtes en lecture seule
- Enregistrements dans des tables verrouillées par des réservations (inexistantes) de la part d'autres utilisateurs...
Actuellement, mon application est à 2 doigts de s'écrouler du fait des verrous que je rencontre...
Je me demande donc si ma base est correctement déclarée lors e l'attachement de mes tables via ma connexion ODBC, ou elle le serait de manière incomplète avec ACCESS...
Sinon, à quel stade puis-je intervenir pour débloquer ces lignes, et faire en sorte que des requêtes, qui fonctionnaient parfaitement avec MySQL ou SQL Serveur, fonctionnent normalement avec PostgreSQL...
J'ai besoin d'1 éclairage rapidement...
Je souhaite m'appuyer sur PostgreSQL à l'avenir, qui est rapide et dont tout le monde semble enchanté...
Merci par avance
]]>