IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

pb appel sequence oracle


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut pb appel sequence oracle
    Bonjour,


    Pourriez vous m'aider à résoudre un problème que je rencontre depuis la mise en place de séquences qui me servent à générer des numéros de colis uniques. J'ai constaté qu'elles fonctionnent de façon aléatoire, elles font normalement des sauts de 1 (comme défini dans les déclarations de séquence) mais font aussi des bonds de 5, 10 ou même 30 unités n'importe quand.

    Le serveur est un linux mandriva 2006 sur lequel est installé un oracle 8.7.0.1, les séquence sont créées sous un utilisateur particulier qui est le seul à les utiliser. A partir d'un poste client oracle 7 sous windows 2000, un programme VB version 5 appelle ces séquences de la façon suivante :

    Set Sessionbdd = CreateObject("OracleInProcServer.XOraSession")
    Set bdd = Sessionbdd.dbOpenDatabase("luxbg", "ut/seq", 0&)
    Set Osrecordset = bdd.dbCreateDynaset("select su.seqbordmory.nextval from sys.dual", CInt(0))
    trp1 = Osrecordset.Fields(0)
    Set Sessionbdd = Nothing
    Auriez vous une solution à mon problème s'il vous plaît ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    assure toi que le paramètre est bien NOCACHE sur cette séquence

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 9
    Points : 10
    Points
    10
    Par défaut problème résolu
    merci beaucoup à Fred D pour son aide
    J'ai attendu quelques jours afin d'être sur du résultat, ça fonctionne super bien


    bonne journée

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Points : 1 294
    Points
    1 294
    Par défaut
    Citation Envoyé par etham
    merci beaucoup à Fred D pour son aide
    J'ai attendu quelques jours afin d'être sur du résultat, ça fonctionne super bien


    bonne journée
    Attention meme en NOCACHE, tu n'aura jamais la garantie de ne pas avoir de trou. Le processus d'incrémentation de séquence est effectué et "commité" implicitement meme s'il est appelé par une transaction annulée. Si il y a une séquence demandée puis un rollback effectué, la séquence suivante ne "reculera" pas, et il y aura un trou. Ceci s'explique foncrtionnellement car si tel n'était pas le cas, ça voudrait dire que les processus s'inter-bloqueraient pour assurer la continuité de la suite.

    La sert à produires des indentifiants pas des numéro d'ordre

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

Discussions similaires

  1. Equivalent Sequence Oracle en SQLServer
    Par Gabbe_pro dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 25/02/2010, 21h32
  2. Sequence Oracle : double incrémentation
    Par woodwai dans le forum Hibernate
    Réponses: 3
    Dernier message: 10/11/2006, 13h50
  3. Réponses: 2
    Dernier message: 28/08/2006, 11h00
  4. genID pour sequence oracle
    Par COULON dans le forum XMLRAD
    Réponses: 4
    Dernier message: 11/04/2006, 11h54
  5. [EJB2.1 Entity] EJB Entite CMP et sequence Oracle
    Par kaiser2003 dans le forum Java EE
    Réponses: 5
    Dernier message: 11/03/2006, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo