Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1459 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [ Resolu ] Ma requete ne fonctionne qu'à moité ! Avez-vous une idée ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Resolu ] Ma requete ne fonctionne qu'à moité ! Avez-vous une idée ?

n°1828461
cvb
Posté le 17-12-2008 à 13:28:04  profilanswer
 

Bonjour,
 
Je travaille sur une base Oracle ! Je n'ai pas de problème pour récupèrer les données. En ce qui concerne l'insertion, la mise à jour, j'ai quelques soucis !
 
Démarche ==>  j'arrive à insérer les données. Je supprime les données manuellement et je refais l'action. Quand je veux réinsérer ces mêmes données, ça ne fonctionne pas et j'ai un message d'erreur, au bout de quelques secondes !
 
Voici mon erreur :
 

Le CLR n'a pas pu effectuer de transition du contexte COM 0x10df448 au contexte COM 0x10df5b8 pendant 60 secondes. Le thread qui possède le contexte/cloisonnement de destination est probablement en train d'attendre ou de traiter une opération très longue sans pompage des messages Windows. Cette situation a généralement des effets négatifs sur les performances et peut parfois entraîner le blocage de l'application ou une utilisation ininterrompue de la mémoire. Pour éviter ce problème, tous les threads STA (Single Threaded Apartment) doivent utiliser des primitives d'attente de pompage (par exemple CoWaitForMultipleHandles) et pomper de manière régulière les messages lors des opérations qui sont longues à s'exécuter.


 
et voici mon code :
 

Code :
  1. Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=" _
  2.                               + "(ADDRESS=(PROTOCOL=TCP)(HOST=172.30.32.92)(PORT=1521)))" _
  3.                               + "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));" _
  4.                               + "User Id=xxxxx;Password=xxxxx;"
  5.    Dim conn As New OracleConnection(Me.oradb)
  6.    Dim myOracleTransaction As OracleTransaction = conn.BeginTransaction()
  7.    Dim myOracleCommand As OracleCommand = conn.CreateCommand()
  8.    myOracleCommand.CommandText = "INSERT INTO CATEGORIES (CODE_CATEGORIE,NOM_CATEGORIE,DESCRIPTION) VALUES(10,'toto','titi')"
  9.    myOracleCommand.ExecuteNonQuery()
  10.    myOracleTransaction.Commit()
  11.    conn.Close()


 
 
Avez-vous une idée de l'origine de l'erreur, svp ?
 
D'avance merci pour les réponses
Cvb
 
ps: je travaille sous Visual Studio 2008 (Framework 3.5)


Message édité par cvb le 31-12-2008 à 21:52:27
mood
Publicité
Posté le 17-12-2008 à 13:28:04  profilanswer
 

n°1828636
cvb
Posté le 17-12-2008 à 16:16:35  profilanswer
 

J'ai du nouveau. Plusieurs choses se produise au niveau de la base de donnée.  
 
 
1- Quand j'exécute la première fois le code, les données sont écrites dans la base dans aucun problème, le commit s'exécute bien....
 
2- Une fois que je supprime les données à la main à partir de "Oracle SQL Devellopper" et que je réexecute le code afin de renvoyer la requête INSERT, c'est à ce moment là que mon soucis intervient ! Il faut que j'execute le Commit depuis "Oracle SQL Devellopper" pour que les données envoyé depuis le programme apparaissent !
 
Si je n'execut pas se COMMIT, le programme 30 secondes plutard !  
 

Le CLR n'a pas pu effectuer de transition du contexte COM 0x10df448 au contexte COM 0x10df5b8 pendant 60 secondes. Le thread qui possède le contexte/cloisonnement de destination est probablement en train d'attendre ou de traiter une opération très longue sans pompage des messages Windows. Cette situation a généralement des effets négatifs sur les performances et peut parfois entraîner le blocage de l'application ou une utilisation ininterrompue de la mémoire. Pour éviter ce problème, tous les threads STA (Single Threaded Apartment) doivent utiliser des primitives d'attente de pompage (par exemple CoWaitForMultipleHandles) et pomper de manière régulière les messages lors des opérations qui sont longues à s'exécuter.


 
Je me pose la question de savoir s'il n'y a pas une histoire de Buffer, ou quelques chose comme cela ! je ne comprends pas le problème. Je travaille sous Oracle 10g. Avez-vous des idées ?
 
 

n°1828685
cvb
Posté le 17-12-2008 à 17:30:05  profilanswer
 

Bonsoir,
 
J'ai trouvé l'erreur ! En fait j'avais "Sql Devellopper" d'ouvert en même temps que j'executé mon code ! Il s'avère (pour une raison inconnue) que le logiciel prenait le pas sur mon programme ! Il est vrai que je m'authentifier deux fois sur la base avec des identifiants identiques...
 
En fermant "Sql Devellopper", tout est rentré dans l'ordre, je peux insérer les données....:)  
 
D'avance merci de vous être penché sur mon soucis :)
Bonne soirée :)
++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [ Resolu ] Ma requete ne fonctionne qu'à moité ! Avez-vous une idée ?

 

Sujets relatifs
[MS Access] Requete sur horodatage "flou"Requête en jointure
[Perl] Récupérer le résultat d'une requète SQLAide pour une requête (MySQL)
Fonctionne sous Firefox mais pas sous IE 7Delete avec Jointure [Résolu]
in_array() récalcitrant [Résolu]envoyer et reccuperer une requete
[C#] Impossible d'effectuer une requete HTTP POST avec HttpWebRequest[Résolu]Créer des liens vers le disque dur du visiteur
Plus de sujets relatifs à : [ Resolu ] Ma requete ne fonctionne qu'à moité ! Avez-vous une idée ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR