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 :

Connexion Symfony 1.2 + Oracle 10g


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Connexion Symfony 1.2 + Oracle 10g
    Bonjour,

    J'étudie actuellement la possibilité de mettre en oeuvre en entreprise un projet d'application de gestion - outil collaboratif intranet avec PHP et le framework Symfony. Pour info, le serveur web est un serveur Linux Debian/Apache.

    Le choix de la base de données, pour des raisons internes, s'est porté sur Oracle. Et c'est là que les problèmes commencent : avec la v 1.2 de Symfony, et notamment Propel 1.3, la connexion avec Oracle ne fonctionne plus.
    J'ai bien vu l'article Oracle Symfony in PHP minor (http://www.oracle.com/technology/pub...a-symfony.html) et quelques forums sur le sujet, mais il semble que les personnes ayant rencontré ce problème l'aient résolu en "downgradant" Symfony en v 1.1/ Propel 1.2.
    Existe-t-il une solution plus viable et stabilisée pour faire communiquer ces 2 outils ?
    En vous remerciant pour votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Je suis également fort interessé. Cependant dans mon cas, le serveur est sous windows et oracle n'est pas en 10g. Mais je pense pas que cela influence beaucoup la manière de s'y prendre.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Points : 12
    Points
    12
    Par défaut Propel ??
    Sache que Symfony dans sa version 1.2 acceuil Doctrine qui pratique l'abstraction de BDD tous comme Propel. Essaye de voir si Doctrine n'est pas plus adapté pour ton application.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Pour me connecter a oracle je passe par doctrine. Seul probleme, des que je rentre une commande ayant un lien avec la base de données je me retrouve avec un message du genre "could not find driver". Pourtant j'ai activé les dll concernant pdo et oci8.

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    As-tu testé de te connecter directement avec PHP afin de vérifier si la connexion à la base avec le driver pdo fonctionne ?
    Voir le lien suivant :
    http://php.balluche.fr/?function.oci-connect
    Si cette étape fonctionne, il faudra s'orienter vers la config de doctrine. A moins que le problème ne soit ensuite similaire à celui que nous rencontrons avec Propel...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Voila l'erreur dans les logs apache lorsque j'essaye de me connecter en php "pure":

    [Tue Apr 14 16:12:00 2009] [error] [client 127.0.0.1] PHP Warning: ocilogon() [<a href='function.ocilogon'>function.ocilogon</a>]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in C:\\www\\symf\\essai.php on line 18

    D'après les recherches que j'ai effectué cela pourait venir du fait que plusieurs librairies oracle seraient installées. Mais cela m'etonnerait bien. Je pense pas avoir installé plusieurs librairies, je m'en rappellerais je pense

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    L'endroit où se situe ton fichier test "c:\\www\\symf\\essai.php" ne me semble pas correct.
    Pour que le plugin doctrine soit correctement chargé, il est nécessaire d'avoir ton code intégré dans un module symfony (créer un fichier testSuccess.php + ajouter une action executeTest dans action.class.php du même module).

    Sinon, si tu veux laisser ton fichier test à cet endroit, cela veut dire que tu ne passes pas par doctrine mais directement par les fonctions php pdo pour réaliser ton test (oci_connect).

    Et sinon, à tout hasard, les variables d'environnements oracle sont-elles bien définies ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Petit changement, maintenant j'ai réussi à me connecter à ma base oracle et à en récupérer les tables avec le doctrine:build-schema.

    Cependant quand je fais par exemple un doctrine:build-all, j'obtiens le message suivant:

    PDO Connection Error: SQLSTATE[]: pdo_oci_handle_factory: ORA-12560: TNS:protocol adapter error (ext\pdo_oci\oci_driver.c:581)
    Comment on peut éviter ca? Apparament c'est que la connection s'effectue mal non? J'ai vu que pour Zend il y'a avait ce problème et que pour l'éviter, il y'avait une classe de connection de la librairie à modifier. Pour Symfony par contre, aucune information...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    L'endroit où se situe ton fichier test "c:\\www\\symf\\essai.php" ne me semble pas correct.
    Pour que le plugin doctrine soit correctement chargé, il est nécessaire d'avoir ton code intégré dans un module symfony (créer un fichier testSuccess.php + ajouter une action executeTest dans action.class.php du même module).
    Merci pour ta réponse, mais comme je le disais, c'etait en php "pure", juste pour faire le test, c'etait hors symfony et doctrine. Juste en utilisant les fonctions de pdo.

  10. #10
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Désolé pour la partie connexion directe PHP, j'avais visiblement zappé cette partie de ton message.
    Pour l'erreur que tu rencontres actuellement, c'est malheureusement à peu près la même que celle que nous rencontrons actuellement en utilisant Propel.
    As-tu sinon essayé, plutôt que de faire un build-all, de faire dans l'ordre (si ton build-schema est passé) :
    1) php symfony cc
    2) php symfony doctrine:build-model
    3) php symfony doctrine:build-sql
    4) php symfony doctrine:build-forms
    5) php symfony doctrine:build-filters
    6) php symfony cc
    A quelle étape as-tu une erreur ?

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 61
    Points : 56
    Points
    56
    Par défaut
    Toutes ces commandes fonctionnent sans problème. C'est juste le build all qui me met l'erreur que j'avais indiqué.

    Par contre lorsque je fais l'admin generator, j'ai la même erreur lors de l'accès à la page créée mais sans le message d'erreur de oracle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    500 | Internal Server Error | Doctrine_Connection_Exception
    PDO Connection Error: SQLSTATE[]: pdo_oci_handle_factory: <<Unknown>> (ext\pdo_oci\oci_driver.c:581)
    stack trace
    at ()
    in SF_SYMFONY_LIB_DIR\plugins\sfDoctrinePlugin\lib\vendor\doctrine\Doctrine\Connection.php line 471 ...
     
     
                        $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    } catch (PDOException $e) {
                        throw new Doctrine_Connection_Exception('PDO Connection Error: ' . $e->getMessage());
                    }
                    $found = true;
                }

    Est-ce que cela pourait venir du fait que mon user n'a pas tous les droits sur la base?? Ou bien tout simplement pas assez de droit, meme s'il en a deja pas mal. C'est bizarre d'arriver à récupérer toutes les tables, générer tous les models et ne pas réussir à agir avec...

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Excusez moi d'arriver comme un cheveu sur la soupe mais j'ai également un problème de connexion avec ma base oracle.
    Je pense que ça vient de ma configuration, mais je n'ai pas trouvé (ou alors j'ai cherché comme un pied) de site qui indique clairement comment on configure ses fichiers symfony pour, par exemple, construire un fichier schema.yml.
    Je vous remercie.

Discussions similaires

  1. Connexion à Sql*plus sous oracle 10g
    Par phenix1988 dans le forum Oracle
    Réponses: 4
    Dernier message: 22/03/2010, 14h41
  2. Connexion Tomcat 6 et Oracle 10g
    Par soad dans le forum JDBC
    Réponses: 1
    Dernier message: 30/05/2008, 11h32
  3. [BO XI] PB connexion BO XI et oracle 10g
    Par atb dans le forum Designer
    Réponses: 1
    Dernier message: 17/03/2008, 10h48
  4. connexion sur une BD oracle 10g à partir de Java
    Par dr.dramane dans le forum JDBC
    Réponses: 6
    Dernier message: 24/03/2007, 16h41
  5. Connexion en simultané - erreur Oracle 10g
    Par captainamerica75 dans le forum Oracle
    Réponses: 1
    Dernier message: 15/11/2006, 11h53

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