Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Application Access : problème de vitesse.

5 réponses
Avatar
BilTCD
J'ai pr=E9alablement poster ce message mais peut-=EAtre que=20
quelqu'un d'autre =E0 uine id=E9e sur le sujet.

Bonjour =E0 tous,
Je suis en pr=E9sence d'un probl=E8me plut=F4t grave.=20
Avant d'expliquer le probl=E8me je vous explique la mani=E8re=20
dont l'application a =E9t=E9 d=E9vellopp=E9 :
=20
1) Construite en Access 97
=20
2) L'application est install=E9 localement sur le poste de=20
l'utilisateur et la base de donn=E9es est centalis=E9 en un=20
point ( =E0 l'extr=EAme 15 usagers pourraient =EAtre connect=E9s=20
en m=EAme temps)

3) La communication entre la BD et l'application est=20
assur=E9 par un lien ODBC.

4) Je me connecte 1 fois =E0 l'ouverture de l'application.

5) J'ai remarqu=E9 que plus l'aplication est ouverte=20
longtemps plus elle devient lente (C'est d=E9j=E0 lent au=20
d=E9marrage)

6) Voici la mani=E8re dont la connection est faite dans=20
l'application :
NomDuDSN =3D "DSNDSNDSN"
NomUtilisateur =3D "blablabla"
MotDePasse =3D "blablabla"
BD.ConnectionString =3D "DSN=3D" & NomDuDSN & ";UID=3D" &=20
NomUtilisateur & ";PWD=3D" & MotDePasse & ";"
BD.Open

7) Un exemple d'ouverture de recordset :
Rst.Open Requete_SQL_String, BD, adOpenDynamic,=20
adLockReadOnly

8) Chaque RST est ferm=E9 de cette fa=E7on :
Rst.Close
Set Rst =3D Nothing

Donc ma question est : Est-ce qu'il serait possible d'une=20
mani=E8re ou d'une autre d'am=E9liorer mon code pour que les=20
traitements faitent par l'application soient plus rapide ?

Je suis conscient que la vitesse m=EAme du lien a un impact=20
majeur sur la vitesse de l'application mais =E0 mon avis ce=20
n'est pas le seul probl=E8me.=20
=20
.

5 réponses

Avatar
valentin
Bonsoir,
Peut être dû au départ à la construction du modèle,
vérifier si la modélisation est bien faite ?
Ajouter éventuellement des transactions dans la gestion
des accès aux données.
Bon courage
Valentin
"BilTCD" a écrit dans le message de
news:1e4501c4b521$907f8140$
J'ai préalablement poster ce message mais peut-être que
quelqu'un d'autre à uine idée sur le sujet.

Bonjour à tous,
Je suis en présence d'un problème plutôt grave.
Avant d'expliquer le problème je vous explique la manière
dont l'application a été dévelloppé :

1) Construite en Access 97

2) L'application est installé localement sur le poste de
l'utilisateur et la base de données est centalisé en un
point ( à l'extrême 15 usagers pourraient être connectés
en même temps)

3) La communication entre la BD et l'application est
assuré par un lien ODBC.

4) Je me connecte 1 fois à l'ouverture de l'application.

5) J'ai remarqué que plus l'aplication est ouverte
longtemps plus elle devient lente (C'est déjà lent au
démarrage)

6) Voici la manière dont la connection est faite dans
l'application :
NomDuDSN = "DSNDSNDSN"
NomUtilisateur = "blablabla"
MotDePasse = "blablabla"
BD.ConnectionString = "DSN=" & NomDuDSN & ";UID=" &
NomUtilisateur & ";PWD=" & MotDePasse & ";"
BD.Open

7) Un exemple d'ouverture de recordset :
Rst.Open Requete_SQL_String, BD, adOpenDynamic,
adLockReadOnly

8) Chaque RST est fermé de cette façon :
Rst.Close
Set Rst = Nothing

Donc ma question est : Est-ce qu'il serait possible d'une
manière ou d'une autre d'améliorer mon code pour que les
traitements faitent par l'application soient plus rapide ?

Je suis conscient que la vitesse même du lien a un impact
majeur sur la vitesse de l'application mais à mon avis ce
n'est pas le seul problème.

.
Avatar
BilTCD
Quoique plutôt ancien, est-ce que la liaison avec ODBC est
performante et est-ce qui y a mieux.
Merci de ta réponse !
-----Message d'origine-----
Bonsoir,
Peut être dû au départ à la construction du modèle,
vérifier si la modélisation est bien faite ?
Ajouter éventuellement des transactions dans la gestion
des accès aux données.
Bon courage
Valentin
"BilTCD" a écrit
dans le message de

news:1e4501c4b521$907f8140$
J'ai préalablement poster ce message mais peut-être que
quelqu'un d'autre à uine idée sur le sujet.

Bonjour à tous,
Je suis en présence d'un problème plutôt grave.
Avant d'expliquer le problème je vous explique la manière
dont l'application a été dévelloppé :

1) Construite en Access 97

2) L'application est installé localement sur le poste de
l'utilisateur et la base de données est centalisé en un
point ( à l'extrême 15 usagers pourraient être connectés
en même temps)

3) La communication entre la BD et l'application est
assuré par un lien ODBC.

4) Je me connecte 1 fois à l'ouverture de l'application.

5) J'ai remarqué que plus l'aplication est ouverte
longtemps plus elle devient lente (C'est déjà lent au
démarrage)

6) Voici la manière dont la connection est faite dans
l'application :
NomDuDSN = "DSNDSNDSN"
NomUtilisateur = "blablabla"
MotDePasse = "blablabla"
BD.ConnectionString = "DSN=" & NomDuDSN & ";UID=" &
NomUtilisateur & ";PWD=" & MotDePasse & ";"
BD.Open

7) Un exemple d'ouverture de recordset :
Rst.Open Requete_SQL_String, BD, adOpenDynamic,
adLockReadOnly

8) Chaque RST est fermé de cette façon :
Rst.Close
Set Rst = Nothing

Donc ma question est : Est-ce qu'il serait possible d'une
manière ou d'une autre d'améliorer mon code pour que les
traitements faitent par l'application soient plus rapide ?

Je suis conscient que la vitesse même du lien a un impact
majeur sur la vitesse de l'application mais à mon avis ce
n'est pas le seul problème.

..



.



Avatar
Daniel Carollo
Bonjour Bil!

A mon avis, vous avez le doigt sur le probleme: Access n'est pas des plus
performant quand il s'agit de l'attaquer avec ODBC. OLEDB serait un meilleur
choix, et ADO meilleur encore. Le deuxieme probleme potentiel se trouve du
cote du nombre des utilisateurs: 15 me semble un nombre eleve
d'utilisateurs, mais cela depend grandement du type d'activite sur la base.

Une remarque d'ordre general: l'application a probablement plus d'influence
sur la performance que la base elle-meme.

Si toutefois vous allez "mettre les mains dans le cambouis" et changer
l'application, je vous conseillerais de faire une bonne analyse de besoins
et d'envisager un eventuel changement de base: SQL Server (la version
"desktop", celle que l'on connaissait aussi sous le nom de MSDE) est
maintenant gratuit et n'est plus limite a 5 utilisateurs.

Au passage, je suis un peu etonne par la reponse de Valentin: en quoi
l'ajout de transactions pourrait-il accelerer les acces aux donnees?

Bonne continuation

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"BilTCD" wrote in message
news:164701c4b548$e18ddce0$
Quoique plutôt ancien, est-ce que la liaison avec ODBC est
performante et est-ce qui y a mieux.
Merci de ta réponse !
-----Message d'origine-----
Bonsoir,
Peut être dû au départ à la construction du modèle,
vérifier si la modélisation est bien faite ?
Ajouter éventuellement des transactions dans la gestion
des accès aux données.
Bon courage
Valentin


Avatar
BilTCD
Merci beaucoup de cette réponse.

Cela mérite une réflexion plus poussé !
-----Message d'origine-----
Bonjour Bil!

A mon avis, vous avez le doigt sur le probleme: Access
n'est pas des plus

performant quand il s'agit de l'attaquer avec ODBC. OLEDB
serait un meilleur

choix, et ADO meilleur encore. Le deuxieme probleme
potentiel se trouve du

cote du nombre des utilisateurs: 15 me semble un nombre
eleve

d'utilisateurs, mais cela depend grandement du type
d'activite sur la base.


Une remarque d'ordre general: l'application a
probablement plus d'influence

sur la performance que la base elle-meme.

Si toutefois vous allez "mettre les mains dans le
cambouis" et changer

l'application, je vous conseillerais de faire une bonne
analyse de besoins

et d'envisager un eventuel changement de base: SQL Server
(la version

"desktop", celle que l'on connaissait aussi sous le nom
de MSDE) est

maintenant gratuit et n'est plus limite a 5 utilisateurs.

Au passage, je suis un peu etonne par la reponse de
Valentin: en quoi

l'ajout de transactions pourrait-il accelerer les acces
aux donnees?


Bonne continuation

--
Daniel :-)

Computing Technologies International - www.computing-
tech.com - We

provide solutions...

"BilTCD" wrote in
message

news:164701c4b548$e18ddce0$
Quoique plutôt ancien, est-ce que la liaison avec ODBC est
performante et est-ce qui y a mieux.
Merci de ta réponse !
-----Message d'origine-----
Bonsoir,
Peut être dû au départ à la construction du modèle,
vérifier si la modélisation est bien faite ?
Ajouter éventuellement des transactions dans la gestion
des accès aux données.
Bon courage
Valentin



.




Avatar
valentin
Bonsoir,
Je me suis peut être mal exprimé , en effet , dans le cadre de
requêtes SQL assez lourdes ( effectivement pas particulièrement
l'accès aux données , quoique !) la mise en place de transactions
peut considérablement améliorer la vitesse , je l'ai déjà constaté
sur des BDD de type Access 97 , mais je priviligerai au départ
plutôt la modélisation.

Cordialement
Valentin

"Daniel Carollo" a écrit dans le
message de news:
Bonjour Bil!

A mon avis, vous avez le doigt sur le probleme: Access n'est pas des plus
performant quand il s'agit de l'attaquer avec ODBC. OLEDB serait un
meilleur

choix, et ADO meilleur encore. Le deuxieme probleme potentiel se trouve du
cote du nombre des utilisateurs: 15 me semble un nombre eleve
d'utilisateurs, mais cela depend grandement du type d'activite sur la
base.


Une remarque d'ordre general: l'application a probablement plus
d'influence

sur la performance que la base elle-meme.

Si toutefois vous allez "mettre les mains dans le cambouis" et changer
l'application, je vous conseillerais de faire une bonne analyse de besoins
et d'envisager un eventuel changement de base: SQL Server (la version
"desktop", celle que l'on connaissait aussi sous le nom de MSDE) est
maintenant gratuit et n'est plus limite a 5 utilisateurs.

Au passage, je suis un peu etonne par la reponse de Valentin: en quoi
l'ajout de transactions pourrait-il accelerer les acces aux donnees?

Bonne continuation

--
Daniel :-)

Computing Technologies International - www.computing-tech.com - We
provide solutions...

"BilTCD" wrote in message
news:164701c4b548$e18ddce0$
Quoique plutôt ancien, est-ce que la liaison avec ODBC est
performante et est-ce qui y a mieux.
Merci de ta réponse !
-----Message d'origine-----
Bonsoir,
Peut être dû au départ à la construction du modèle,
vérifier si la modélisation est bien faite ?
Ajouter éventuellement des transactions dans la gestion
des accès aux données.
Bon courage
Valentin