Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre habitué
    Homme Profil pro Vital Thyot
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    305
    Détails du profil
    Informations personnelles :
    Nom : Homme Vital Thyot
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : mars 2008
    Messages : 305
    Points : 115
    Points
    115

    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

    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().

  2. #2
    Membre habitué
    Homme Profil pro Vital Thyot
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    305
    Détails du profil
    Informations personnelles :
    Nom : Homme Vital Thyot
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : mars 2008
    Messages : 305
    Points : 115
    Points
    115

    Par défaut

    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

  3. #3
    Membre habitué
    Homme Profil pro Vital Thyot
    Ingénieur développement logiciels
    Inscrit en
    mars 2008
    Messages
    305
    Détails du profil
    Informations personnelles :
    Nom : Homme Vital Thyot
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : mars 2008
    Messages : 305
    Points : 115
    Points
    115

    Par défaut

    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

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •