georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
5 oct. 2005 à 21:48
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007
-
6 oct. 2005 à 18:55
Salut les gens !!
J'ai appris grâce à ce site notamment comme se connecter en c# à une bdd et à exécuter des requêtes.
Mais j'ai une question existentielle... Dans le développement d'une
appli liée à une base de données, est-ce qu'on laisse ouverte la
connection à la base de données pendant toute la durée de l'utilisation
du logiciel ou doit-on fermer cette connection après chaque requette et
se reconnecter par la suite si on doit faire une autre requette et
ainsi de suite ??..
Désolé pour cette question de débutant, mais j'ai soif d'apprendre !!!
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 5 oct. 2005 à 22:15
Disons que si tu enchaines les requetes, tu fermes a la fin de
l'enchainement. Mais tu ne laisses pas la connexion ouverte de
l'ouverture a la fermeture de l'application.
Une des raisons : le nombre de licences. Quand tu achetes un sgbd, on
peut te vend un nombre de licences, ce qui equivaut au nombre de
connexions simultanées a la base. Si les applis ne se deconnectent pas,
y'a des gens qui parfois ne pourraient plus travailler
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007 5 oct. 2005 à 22:29
Ah oui d'accord je n'avais pas pensé à cette histoire de nombre de
licences (merci !) Je peux te demander si cette logique dans cet exemple
te parait bonne... :
...
******Connexion à la base***************
ici nous sommes sur la fenêtre du listing des clients -
REQUETTES POUR LISTER LES CLIENTS
******Fermeture de la connexion à la base***
ici on double clique sur le nom d'un client -
ici affiche l'écran du détail d'un client -
******Connexion à la base***************
REQUETTES POUR REMPLIR L'ECRAN DU DETAIL D'UN CLIENT
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 6 oct. 2005 à 08:43
Le principe de licence ne devrait pas être prise en compte. En effet, cela veut dire pour moi des ralentissements importants si le nombre de licences n'équivaut pas aux nombres d'utilisateurs simultané. Ce qui veut dire : a il y a quelqu'un qui travaille, j'attend mon tour. On dirait des licences installshield ca.
Apres, tous les sgbds, enfin ceux que je connais ne limite pas le nombre de connexion simultanée en fonction d'une licence.
Apres, le fonctionnement connexion deconnexion a chaque requete ou groupe de requete ,pourquoi pas. J'ai déjà fait ca, cela fonctionne correctement du moment que tu enchaines pas trop de requete de suite en connexion deconnexion.
Fait attention que la connexion ne démarre pas un serveur de données et que la déconnexion ferme ce serveur, sinon, ca va bien planter.
Berf, pas sur qu'il y ai une meilleure solution.
C'est en fonction de l'appli :
un utilisateur une bdd >>>> une connexion et une fermeture pour l'appli
plusieurs utilisateur une bdd >>> une connexion et une fermeture par groupe de requete
Cela semble le mieux dans l'absolu, mais c'est aussi en fonction du SGBD
In the mood for ... ba heu, for quelque chose qui est vachement bien ( oui je sais , n'importe quoi)
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 6 oct. 2005 à 12:51
Salut, je suis d'accord avec Morpion Mx, ça m'est arrivé sur une bdd oracle. Le nb de connexoion était limité à 30 ce qui posait un pb assez rapiement si on ne ferme pas les
georgeduke
Messages postés167Date d'inscriptiondimanche 6 février 2005StatutMembreDernière intervention13 avril 2007 6 oct. 2005 à 18:55
Merci c'est vraiment génial de partager vos expériences !! J'ai donc
l'impression qu'il n'y a pas de façon unique de gérer les
connexions/deconnexions cela dépend de 3 facteurs :
- la politique du fournisseur SGBD en terme de licence
- le nombre d'utilisateurs de l'appli
- le volume et la fréquence de requêtes nécessaires à l'appli
Je me pose tout d'un coups ces questions car j'ai débuté en
développement avec une bdd "SQLBASE" qui n'a pas de limite en
connexions simultanées et au niveau du développement la connexion à la
base restait toujours ouverte, cela correspondait à une "session". Ce
qui posait de gros problèmes chez nos clients en wifi qui avaient des
micro coupures au niveau de leur réseau car ils devaient redémarrer
complètement l'appli avec moultes messages d'erreurs...
La je démarre un projet perso avec MySql, et cela change beaucoup la donne :-)