URGENT MYSQL + THREAD

yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 3 mars 2006 à 13:34
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 1 mars 2008 à 17:57
Salut a tous

J'ai une application qui se connecte a ma base MYSQL pour y faire soit des insertion soit des mise a jour.

Je met a jour 2 table differentes avec des données qui se trouve a des emplacement different

J'ai donc utiliser 2 thread pour ke le traitement se fasse simultanement

Le pb est que au bout d'un court moment l'appli s'arrete de tourner. Dans l'observateur d'evenement de windows j'ai des erreur du type system.io exception ou sytem. nullreference (un truc ds le genre)

Avant mon appli tournai sur une base access et j'avai pa de pb.

De plus ce pb n'existe pa lorsque je lance les thread l'un apres l'autre.

Quelqu'un saurait-il d'ou vien le pb??? et comment le resoudre svp merci

6 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
3 mars 2006 à 22:30
Salut,

Avec des infos aussi vagues à mon avis ça va être dur d'avoir une idée de ce qui se passe.

/*
coq
MVP Visual C#
*/
0
gyzmo222 Messages postés 66 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 2 juin 2006 1
4 mars 2006 à 00:22
Tu dis qu'avant tu travaillais en bases accès, on dirait de part ton erreur que tu devrais chercher coté droits sur la base de données. System.io pourrait venir du fait qu'il ne sache pas ouvrir le fichier et nullreference c'est qu'il n'existe pas ou est innaccessible. On ne sait pas dire beaucoup plus avec peu de détails, quelques try catch s'imposent pour que tu es plus d'infos sur les erreurs.
0
cs_Pierre42 Messages postés 19 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 novembre 2008
1 mars 2008 à 15:31
La réponse est malheuresement beaucoup plus simple, mysql n'accepte pas des connections utilisant les threads. Ca plante rapidement. Il faut créer une liste d'attente.

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 mars 2008 à 17:19
Hu ?
Je ne connais pas plus MySQL que ça, mais il doit gérer sans problème les accès concurents vu l'utilisation massive qui en est faite dans des architectures "web".

Ensuite c'est sur qu'il ne faut pas utiliser une seule instance de MySqlConnection (ou je ne sais le nom que ça porte pour le provider ADO.NET MySQL) pour tous les threads etc, mais bien une par thread.

/*
coq
MVP Visual C#
CoqBlog
*/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Pierre42 Messages postés 19 Date d'inscription samedi 31 janvier 2004 Statut Membre Dernière intervention 22 novembre 2008
1 mars 2008 à 17:32
MySQL gère les accès concurrents sans problème, mais la dll
windows du driver ne permet pas d'être appelé simultanément par les threads. Le
fait de créer plusieurs instances de MySqlConnection ne changera rien à la
surcharge de la dll.

Il faut nécessairement passer par une file d'attente dans le programme
principal. J'avais espéré que cette limitation soit levé avec la version 5, ce
n'est pas le cas.





Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 mars 2008 à 17:57
o_O
Sympa pour le développement web...

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous