Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 14h07   #1
Membre à l'essai
 
Inscription : mai 2008
Messages : 83
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 83
Points : 21
Points : 21
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 :
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 :
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
Tyra3l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 12h06   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 12h10   #3
Membre à l'essai
 
Inscription : mai 2008
Messages : 83
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 83
Points : 21
Points : 21
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
Tyra3l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 12h40   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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 !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 14h06   #5
Membre à l'essai
 
Inscription : mai 2008
Messages : 83
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 83
Points : 21
Points : 21
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.
Tyra3l est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h18.


 
 
 
 
Partenaires

Hébergement Web