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

Symfony PHP Discussion :

[Doctrine] Problème insertion base depuis le Back-Office [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 91
    Points : 58
    Points
    58
    Par défaut [Doctrine] Problème insertion base depuis le Back-Office
    Bonjour,

    Je suis nouveau sous Symfony (que je trouve tout de même hardu à prendre en main :o), j'ai créé un backend et ma BDD sous Oracle (contraintes imposées) mais au moment d'insérer un nouvel élément j'ai la belle erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    500 | Internal Server Error | Doctrine_Connection_Oracle_Exception
    stack trace
    at ()
    in SF_ROOT_DIR\lib\vendor\symfony\lib\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Connection.php line 1090 ...
                $message .= sprintf('. Failing Query: "%s"', $query);
     
            }
     
     
            $exc  = new $name($message, (int) $e->getCode());
     
            if ( ! isset($e->errorInfo) || ! is_array($e->errorInfo)) {
     
                $e->errorInfo = array(null, null, null, null);
     
            }
    Et voici la partie du schema.yml correspondant à la table dans laquelle j'essaie d'insérer la donnée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    DIST:
      connection: doctrine
      tableName: DIST
      columns:
        discode:
          notnull: true
          type: string(20)
          fixed: false
          unsigned: false
          primary: false
          unique: true
        name:
          notnull: true
          type: string(60)
          fixed: false
          unsigned: false
          primary: false
        orgcode:
          notnull: true
          type: string(20)
          fixed: false
          unsigned: false
          primary: false
          unique: true
        logdel:
          notnull: false
          type: timestamp(7)
          fixed: false
          unsigned: false
          primary: false
        datecrea:
          notnull: true
          type: timestamp(7)
          fixed: false
          unsigned: false
          primary: false
        usrcrea:
          notnull: true
          type: string(20)
          fixed: false
          unsigned: false
          primary: false
        datemod:
          notnull: false
          type: timestamp(7)
          fixed: false
          unsigned: false
          primary: false
        usrmod:
          notnull: false
          type: string(20)
          fixed: false
          unsigned: false
          primary: false
        id:
          type: integer(8)
          fixed: false
          unsigned: false
          primary: true
    Petite question supplémentaire : Comment faire pour mettre mon ID en auto-incrément ? (Je suis sous Oracle 11R2)

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu as deux champs en primary, dont le champ "name". Est-ce volontaire ?

    Ton shema semble issu de la base, il est recommandé de créer la base depuis le shema.yml. Sauf s'il y a contrainte d'une base préexistante, est-ce ton cas ?
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Après un léger remaniement de la base et création de cette dernière grâce au fichier schema.yml j'ai réussi à importer et communiquer avec la base.

    Merci

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    ATTENTION !

    Il est fortement recommandé de partir du shema.yml pour générer la base et pas le contraire, ce que tu sembles faire.

    Tu risques de rencontrer d'autres problèmes plus tard dans ton développement.

    Avant d'aller trop loin, envisages fortement cet option.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    C'est en effet ce que j'avais fait au premier abord, toutefois comme indiqué dans mon précédent message, j'ai cette fois utilisé le schema.yml pour générer ma base de données.

    Merci de ton conseil.

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

Discussions similaires

  1. [MySQL] exporter une table depuis le back office
    Par phildazur dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/10/2013, 12h01
  2. [Joomla!] Problème lors la connexion en back office
    Par jockhip12 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 25/06/2012, 10h29
  3. [MySQL] Problème insertion base SQL
    Par rouly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2010, 08h14
  4. Réponses: 7
    Dernier message: 01/12/2009, 15h10
  5. problème insertion base
    Par ekremyilmaz dans le forum Persistance des données
    Réponses: 1
    Dernier message: 09/02/2009, 18h01

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