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

Doctrine2 PHP Discussion :

Séquence oracle renommée ?


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut Séquence oracle renommée ?
    Bonjour à tous,

    J'ai un problème pour insérer des données nouvelles dans une table. Le problème vient de la séquence Oracle.

    Pour être plus précis Doctrine modifie le nom de séquence que je lui donne et je ne sais pas pourquoi...

    Dans mon entité Personne j'ai les annotations suivantes qui indique la stratégie à utiliser pour générer l'id.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        /**
         * @var integer $id
         *
         * @ORM\Column(name="cod_per", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         * @ORMID\SequenceGenerator(name="PERSONNE_SEQ", initialValue=1, allocationSize=10)
         */
        private $id;
    Lorsque j'exécute mon formulaire j'ai l'erreur suivante :
    ORA-02289: sequence does not exist

    Il ne trouve pas la séquence... et pour cause voici la requête qui est exécuté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT PERSONNE_cod_per_SEQ.nextval FROM DUAL
    Autrement dit la séquence que j'appelle dans les annotations se nomme "PERSONNE_SEQ" et celle qui est appelée par doctrine est "PERSONNE_cod_per_SEQ".

    Dotrine (ou Symfony) ajoute le nom du champ qui contient l'id dans le nom de la séquence et je ne sais pas comment l'empêcher...

    Quelqu'un a-t-il une idée ?

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut
    Pour le moment j'entre mes Id à la main... ce qui évidemment n'est pas satisfaisant...

    S'il n'y a pas d'autres moyens j'essaierai la stratégie "NONE" qui doit me permettre d'appeler moi-même la séquence oracle pour récupérer un id

    Mais si quelqu'un peut m'en apprendre un peu plus sur le SequenceGenerator de Doctrine je suis preneur.

    Merci

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 15
    Par défaut
    Je suis vraiment bloqué.

    Je ne sais pas comment appeler une séquence oracle avec Doctrine.

    Comment traduire avec Doctrine une requête de ce type ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT PERSONNE_SEQ.nextval FROM DUAL
    Merci pour votre aide.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/12/2007, 16h19
  2. Accès à une séquence oracle
    Par coco21 dans le forum JDBC
    Réponses: 2
    Dernier message: 10/05/2007, 12h07
  3. Gestion d'une séquence oracle
    Par mikky dans le forum Hibernate
    Réponses: 2
    Dernier message: 18/01/2007, 11h15
  4. passage du compteur en séquence oracle
    Par hariri dans le forum Oracle
    Réponses: 12
    Dernier message: 17/11/2006, 13h29
  5. Réponses: 7
    Dernier message: 16/10/2006, 18h40

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