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

PHP & Base de données Discussion :

Oracle : exécution et retour vide (anormal)


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 66
    Par défaut Oracle : exécution et retour vide (anormal)
    Bonjour,
    je fais face à un mystère pour le moins surprenant.

    Dans l'application sur laquelle je travaille actuellement, on se connecte sur une base Oracle 10g. Tout semble fonctionner normalement sauf pour une requête. On utilise PDO et des requêtes préparées. Pour cette seule requête, le retour est vide.

    Pour vérifier, j'ai exécuté un débuggage pas-à-pas, récupéré le libellé de la requête générée, requête que j'ai exécuté en direct dans un client Oracle. Là, pas de problème, j'obtiens bien la liste des résultats attendus. Mais l'exécution via PDO ne retourne rien du tout.

    J'ai fait afficher un $stmt->errorInfo() : aucune erreur n'est retournée. Comme dans le bureau on a pas tous des mises à jour similaires (certains en PHP 5.2.2, d'autres en 5.2.3 et moi en 5.2.4), étant le seul à ne pouvoir obtenir les données, j'ai remis en place un PHP 5.2.3. Le résultat est strictement le même, je n'ai toujours pas les résultats attendus. J'ai vérifié mes pilotes, dll et autres possibilités de configuration sans succès.

    Je cherche une piste de solution à explorer parce que là, j'arrive à bout de ressources... et c'est d'autant plus surprenant que le reste de la page avec les données d'autres requêtes s'affichent sans le moindre problème, et encore une fois il n'y a que sur mon poste que ça bafouille. Détail important, j'utilise exactement le même code que les autres, mis à jour via SVN. Plus grave : un collègue se connectant avec mon compte sur sa machine obtient lui les résultats normaux...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 66
    Par défaut
    Petit élément pour peut-être avancer un peu.
    Je me suis livré à quelques expériences et il semble que le problème vienne de PDO. En pas-à-pas, j'ai récupéré la requête générée qui, après quelques ajouts pour tester, ressemble à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM MA_TABLE
    WHERE 1=1
      AND FK_ID = 121
      AND to_date(MACOLONNE_DATE, 'dd/mm/yy') > to_date('25/09/07', 'dd/mm/yy')
      AND to_date(MACOLONNE_DATE, 'dd/mm/yy') < to_date('25/10/07', 'dd/mm/yy')
    ORDER BY MACOLONNE_DATE
    Lors d'une exécution directe, j'obtiens bien la liste des dates attendues. Mais avec un $stmt->execute(), je lève une exception dont voici le début :
    Erreur de débogage: C:\www\auchandirect_project\framework\dataObject\slotdate.php ligne 245 - Uncaught exception 'PDOException'
    with message '
    SQLSTATE[HY000]:
    General error: 1847
    OCIStmtExecute: ORA-01847:
    le jour du mois doit être compris entre 1 et le dernier jour du mois
    ...
    Je ne rêve pourtant pas, la donnée envoyée est bonne. Donc PDO_OCI doit traiter la requête de manière inattendue et Oracle ne reçoit pas la chaine que j'envoie.

    Une piste de recherche serait bienvenue si quelqu'un a une idée...

Discussions similaires

  1. Retour vide d'un JFileChooser
    Par wwave dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 23/02/2010, 10h33
  2. Réponses: 2
    Dernier message: 28/12/2009, 22h56
  3. Exécuter fonction retourant REFCURSOR depuis éditeur
    Par mercure07 dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 27/02/2009, 10h03
  4. [ORACLE] sqlldr le retour !
    Par magic charly dans le forum Oracle
    Réponses: 4
    Dernier message: 26/04/2006, 11h40
  5. [D7][Oracle 8i] DBGrid toujours vide
    Par Magnus dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/10/2005, 08h43

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