[ASP.NET 2.0] Problème de connexion à la base de donnée

Problème de connexion à la base de donnée [ASP.NET 2.0] - C#/.NET managed - Programmation

Marsh Posté le 08-08-2006 à 20:30:03    

Bonjour,
 
J'ai un problème de connexion à une base de donnée MySQL via un site que je suis en train de développer. Ce pb est bloquant pour moi et dure depuis plus d'un mois ... je n'arrive pas à trouver ma réponse.
 
Lorsqu'il y a un utilisateur sur le site, je n'ai pas de problèmes.
Mais si une autre page est ouverte par quelqu'un d'autre, cette page ne sera pas affichée et le message d'erreur suivant apparait :
 

Code :
  1. ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.0.27-max-log]Lost connection to MySQL server during query


 
Pour que la 2eme personne puisse utiliser le site, il faut que la premiere ferme le navigateur.
 
J'ai crée une classe de gestion de base de données contenant un attribut :
public OdbcConnection dbConnection = null;
 
Qui est initialisé de la maniere suivante :

Code :
  1. public void CreateConnection()
  2. {
  3. if (this.dbConnection == null)
  4. {
  5.  this.dbConnection = new System.Data.Odbc.OdbcConnection(CO_Configuration.connectionString);
  6.  this.dbConnection.Open();
  7. }
  8. }


 
Mes pages instancient toutes l'objet de la maniere suivante :

Code :
  1. this.dbManager = new CO_BDD();
  2. this.dbManager.CreateConnection();


 
Et à la fin de la page il y a :

Code :
  1. void index_LoadComplete(object sender, EventArgs e)
  2. {
  3. this.dbManager.CloseConnection();
  4. }


 
J'avoue ne pas du tout comprendre ce qui se passe et je ne trouve pas vraiment d'aide sur le net.
 
J'ai l'impression qu'il n'y a toujours qu'un et un seul process qui tourne sur le serveur de base de donnée et je me demande si c'est normal ...
D'ailleurs, si je lance une requete, un process est lancé mais il n'est pas killé au close() : il attend le timeout (20 secondes). Normal ?
 
Quelqu'un a t'il une petite idée ?
Un conseil ?
 
Sinon, j'ai cru voir qu'il fallait utiliser des pools de connexion mais j'avoue ne pas savoir comment ca fonctionne et je trouve pas vraiment d'aide sur le net.
Vous n'auriez pas un lien par hasard ?
Merci,
Worldofdada

Reply

Marsh Posté le 08-08-2006 à 20:30:03   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed