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

Bibliothèques tierces Python Discussion :

cx_oracle : je comprends rien aux dates


Sujet :

Bibliothèques tierces Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 35
    Points
    35
    Par défaut cx_oracle : je comprends rien aux dates
    Bonjour,

    Je développe un petit script en python qui récupère des infos dans une base Oracle, en se basant sur une date. Je suis en windows XP, serveur oracle 10.2.0.1, python 2.5.

    J'ai installé cx_oracle, je me connecte bien, j'arrive à faire des requêtes simples.
    Par contre quand je veux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select FEUILLE_DATE_CREATION,PREFIXEFEUILLE_NOM, MODFEUILLE_VERSION, FEUILLE_NUMERO
    from FEUILLE_TRAVAIL
    WHERE FEUILLE_DATE_CREATION = '01-10-2008 09:47:59'
    qui fonctionne sous Golden (l'outil que l'on utilise pour lancer les requêtes en local), je n'y arrive pas, pourtant la doc Oracle dit que c'est très simple ! Mais je ne comprends rien à leurs datetime.datetime ...

    Quand je teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    date_tempo = datetime.strptime("2008-10-01 09:47:59", "%Y-%m-%d %H:%M:%S")
    cursor.execute("""select FEUILLE_DATE_CREATION,PREFIXEFEUILLE_NOM, MODFEUILLE_VERSION, FEUILLE_NUMERO
        from FEUILLE_TRAVAIL
        WHERE FEUILLE_DATE_CREATION = :t )""",{'t':date_tempo})
    J'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Traceback (most recent call last):
      File "D:\PERSO\Py\oracle_TESTS.py", line 54, in <module>
        WHERE FEUILLE_DATE_CREATION = :t )""",{'t':date_tempo})
    DatabaseError: ORA-00933: la commande SQL ne se termine pas correctement
    Et je ne comprends pas

    Donc si quelqu'un pouvait m'expliquer le fonctionnement des objets datetime.datetime, et leur interaction avec cx_oracle, cela m'aiderait grandement.

    Usti

  2. #2
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par anthyme Voir le message
    Euh là je ne te suis pas C'est à ajouter à quel endroit ? Je n'ai pas de ; dans les exemples donnés par Oracle.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    J'ai aussi des problèmes de date, avec Explorateur SQL (outil borland) ou Oracle SQL*Plus, je n'arrive pas à passer une date, j'ai essayé " et ', mais rien ni fait, n'ayant aucune formation sur oracle (habitué à MySQL), je suis un peu perdu, ... pour le moment, je me suis fait un requêteur qui gère des paramètres et qui convertisse mes champs (mais il utilise le BDE car il a été conçu pour PARADOX à l'origine qui ne prend lui aussi que les dates en Param)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND (((TPA.CDateReceip >= '01/01/2007') AND (TPA.CDateReceip <= '01/01/2007')) OR ((TPA.CDateEstimate >= '01/01/2007') AND (TPA.CDateEstimate <= '01/01/2007')))
    J'ai droit à comme réponse
    not a valid month
    j'ai essayé tous les sens MMJJYYYY avec ou sans /, ou en mettant - !
    mais quel est donc le bon format
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 35
    Points
    35
    Par défaut
    Merci de ta réponse ShaiLeTroll, je n'ai des problèmes avec les dates que sous python, mes autres outils (requêteur et crystal report) fonctionnent très bien si on leur donne le bon format

    Sinon en regardant plus avant dans les exemples du module, j'ai trouvé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cursor.execute("""select FEUILLE_DATE_CREATION,PREFIXEFEUILLE_NOM, MODFEUILLE_VERSION, FEUILLE_NUMERO
        from FEUILLE_TRAVAIL
        WHERE FEUILLE_DATE_CREATION = :p_Value""",
        p_Value = cx_Oracle.Timestamp(2008, 01, 10, 9, 47, 59))
    qui fonctionne très bien, même si cela ne m'explique pas mieux quel objet il attend, mais je dois être un peu neuneu !

    Néanmoins ça me permet d'avancer .

    Usti

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

Discussions similaires

  1. [Débutant] GUI je ne comprends rien aux callbacks et handles
    Par negyxo27 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 14/10/2010, 10h36
  2. J'y comprend rien aux modules
    Par PadawanInPerl dans le forum Modules
    Réponses: 2
    Dernier message: 15/02/2010, 11h13
  3. Positionnement CSS, j'comprends rien !!
    Par guano dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 16/01/2006, 16h40
  4. error : does not name a type // je n'y comprends rien
    Par djobanaille dans le forum C++
    Réponses: 6
    Dernier message: 19/11/2005, 10h25
  5. [MX]boutons...j'y met du mien mais j'comprend rien!
    Par skapull dans le forum Flash
    Réponses: 5
    Dernier message: 25/03/2004, 18h55

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