-
Base de donnée mysql.
Bonjour à tous,
J'ai deux question à pauser, mais tout d'abord, le contexte:
Je suis en train de développer un logiciel en python qui doit chercher des informations dans une base de donnée Mysql.
Mon problème survient lorsque je veut intégrer les données dans la base.
Lors de cette integration les données passe par un programme qui va formater chaque entré, créer un objet qui représente un record de la table, et ensuite une requete sql est généré avec toute ces données.
Ce système tourne bien durant un certains temps, le problème c'est que le programme stop en plein milieux et sans raison apparente. L'erreur est:
(2003, "Can't connect to MySQL server on 'localhost' (10048)")
Est-ce un problème de monté en charge?
Et une autre question:
Est-il possible en python de créer une connexion "persistante" sur une base de donnée? Car pour le moment, je crée une nouvelle connexion pour chaque requête que j'exécute!
Merci.
-
bonsoir,
oui il me semble que tu peux créer une connexion persistante. j'avais fait de petits tests avec une base de données MySQl et ça fonctionnait.
voilà un des tutos que j'avais utilisé:
http://www.kitebird.com/articles/pydbapi.html
-
Bonjour, merci pour le tuto
Mon anglais n'est pas très bon, mais je n'ai rien trouver au sujet d'une connexion persistante!
Le tuto résume bien comment ouvrir et refermer une connexion, alors je suppose que tu avait fait un "script" ou la connexion n'est pas refermé à la fin mais simplement réutilisée.
Le problème c'est que mon projet tourne sur un serveur python. (Karrigell) Donc pour chaque visiteur plusieurs connexion/déconnexion sont créé.
Se qu'il me faudrait c'est comme en php, un "connect" qui cherche une connexion identique et la réutilise, ou, si elle n'existe pas, la crée.
Merci.
-
oui en quelque sorte, je gardais l'objet retourné par la method "connect" tout au long du traitement en multipliant les "execute".
mais il n'y avait pas de connections multi-utilisateurs, c'était vraiment quelque chose de simple.
là tu es sur une architecture client/serveur ce n'était pas mon cas et c'est quelque chose que je ne maitrise pas du tout. c'est peut être pour ça que je n'ai pas compris ce que tu voulais dire par "persistante".
néanmoins, je pense qu'il est possible de faire ce que tu souhaites mais peut être pas directement via le module de gestion de bdd. tu peux par exemple avoir un objet de type "mapping" qui associe les paramètres de connexion à ta bdd à l'objet renvoyé par la méthode connect. si cet objet est associé à la partie serveur il peut être interrogé afin de retourner un objet bdd existant si les paramètres donnés ont déjà été utilisés...
j'espère que j'ai pas dit trop de bétises :?
-
Merci pour ton aide,
j'ai fait comme tu ma dit pour des scripts complexe et long qui s'execute sur le serveur.
Pour l'aspect client/serveur, je vais approfondie ce "mapping", c'est peut être une bonne piste.
Merci