Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > ADO.NET
ADO.NET Forum d'entraide sur le développement avec les services d'accès aux données disponibles avec ADO.NET.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/06/2012, 15h09   #1
VITALTH
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 175
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 175
Points : 66
Points : 66
Par défaut Duplicate Cursor Name sur appel de méthode DataAdaptater.Fill()

Bonjour,
J'ai écrit une classe Data avec l'utilisation de DataAdaptater, DataCommande et DataTable.

Sur l'instruction
Code :
1
2
 
DataAdaptater.Fill(DataTable)
Je lève une instruction de type

Citation:
Error[3c000][Oracle][Odbc][rdb] "duplicate cursor name"
Je précise que mon DataAdaptater a été instancé en OdbcDataAdaptateur() comme vous l'aurez compris, que j'utilise une base rdb sur Itanium, que j'ai la version 3.3.2.0 du driver Odbc.


Je me doute que l'erreur doit se trouve au niveau de plus basse coucher sur la méthode SQLSetCursorName mais que nous n'y avons pas la main au niveau des objects DbDataAdaptater de DbCommand.

Au cas où, sachez que chacune de mes méthodes de requête commence avec un BeginTransaction() et termine avec un Rollback().
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2012, 23h03   #2
VITALTH
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 175
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 175
Points : 66
Points : 66
Je précise qu'avant d'acceder a la requete qui pose probleme, mon programme etant ainsi fait, j'accede plusieurs fois a la memetable avant. Au debut j'ai pense que les noms des curseursetaient les memes que ceux des DataTable, j'ai donc passe deux heures a modifier mon code pour avoir des noms de DataTable unique. mais rien ne chande. il me reste unevderniere piste avec la surcharge de la methode Fill ou on donne le nom de la DataTable
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2012, 08h09   #3
VITALTH
Membre du Club
 
Homme
Ingénieur développement logiciels
Inscription : mars 2008
Messages : 175
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2008
Messages : 175
Points : 66
Points : 66
Je pense avoir trouvé mais je ne comprends pas la solution.
En effet dans la chaine de connexion (string) qu'il faut entrer. Il y a un paramètre de "Cursor Option".
1 = No Hold, 2 = Hold.

Vu comme ça, j'aurai tendance à prendre l'option 1 justement pour ne pas être embêté. Mais il s'avère que c'est l'option par défaut et quand je prends l'option 2 je n'ai plus de problème.

D'où ma suprise. Si le système conserve les cursors ouvert alors oui je peux avoir un problème de "duplicate cursor", encore plus si je n'ai pas la main dessus.

Ceci dit quoi qu'il arrive je ne comprends pas car systématiquement mes requêtes commencent par BeginTransaction et se termine par RollBack (même celle de lecture).

Enfin le problème vient peut être que je conserve mon DataAdaptater avec la SelectCommand au cas où l'utilisateur souhaiterai faire une mise à jour
VITALTH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 10h51.


 
 
 
 
Partenaires

Hébergement Web