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

Oracle Discussion :

requete oracle avec variable


Sujet :

Oracle

  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut requete oracle avec variable
    Bonjour A Tous,

    J'exécute une requete oracle depuis sql direct de access 2003
    cependant jai un petit probleme avec un parametre date dans la requete:
    j'exécute par exemple la requete

    select * from table where datoper = '&datoper'

    et jaimerais pouvoir saisir la date,mais sql direct de access signale une erreur dans ma requete oracle, je ne sais pas si c' la syntaxe qui n'est pas correcte oubien sql direct de access ne peut pas interpreter cette syntaxe...
    Quelqun a til une idee sur ce probleme?

    Merci

  2. #2
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    Citation Envoyé par esthr
    ...sql direct de access signale une erreur dans ma requete oracle...
    Quelle erreur exactement ?

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut
    Merci Pomalex,

    L'erreur signalé par sql direct est

    "ODBC l'appel a échoué
    [Microsoft][ODBC driver for Oracle][Oracle]ora-01858:a non numeric character was found where a numeric was expected(#1858)

    Merci!

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    le symbole & est utilisé dans SQL*Plus... c'est spécifique à l'outil. Je ne connais pas ACCESS mais j'imagine que la syntaxe pour désigner une variable est différente

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2007
    Messages : 227
    Par défaut
    Bonjour;
    je ne sais pas exactement mais je crois que:
    select * from table where datoper = &datoper va marcher, essaie.

  6. #6
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut
    Merci elharet
    Mais helas ça ne marche pas avec la syntaxe que tu preconises
    Pourtant normalement sql directe de access execute la requete exactement tel qu'elle est de la base de données cible...

  7. #7
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    L'utilisation de '&' ne fait pas partie de la syntaxe SQL mais de la syntaxe SQLPLUS qui n'est qu'un programme client. Acces/odbc est un autre client et n'a donc pas forcément la même syntaxe.

    la bonne syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from table where datoper = [Saisir date opération]

  8. #8
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut
    merci remi

    Ta proposition est correcte mais ne resout pas le probleme!
    on doit pouvoir saisir le parametre date a l'execution de la requete et non figer une date dans le script de la requete!

  9. #9
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    bon... je crois qu'on a été clair, c'est un problème ACCESS. Merci d'orienter tes recherches dans le forum ad hoc

  10. #10
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par esthr
    merci remi

    Ta proposition est correcte mais ne resout pas le probleme!
    on doit pouvoir saisir le parametre date a l'execution de la requete et non figer une date dans le script de la requete!
    Oui et alors ? c'est bien ce que j'avais compris et c'est bien ce que j'ai donné comme syntaxe...

    Fait un copier/coller et regarde ce qui se passe

  11. #11
    Membre averti
    Inscrit en
    Février 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 47
    Par défaut
    Merci à tous,

    Le probleme est que il n'est pas possible avec sql directe (access 2003) de spécifier un parametre dans la requete, je cherchais donc comment contourner ce blocage...jai vu un article sur microsoft mais il parlais plus de gestion de parametre dans une requete sql directe(access 2003) vers une base sql server or dans mon cas c' une base oracle...oh c pas evident...

  12. #12
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par esthr
    Le probleme est que il n'est pas possible avec sql directe (access 2003) de spécifier un parametre dans la requete
    bizarre, avec access 2000 ça marche très bien... de toutes façons, ce n'est pas un problème oracle mais un problème Access, je pense qu'il faut que tu ailles voir du coté du forum access ou tu trouveras des gens plus pointus sur le sujet.

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

Discussions similaires

  1. requete oracle avec tirage aleatoire
    Par gdebre dans le forum Oracle
    Réponses: 1
    Dernier message: 19/10/2007, 15h31
  2. Talend mettre à jour BDD Oracle avec variable globalMap
    Par lolotte35 dans le forum Développement de jobs
    Réponses: 9
    Dernier message: 17/07/2007, 11h42
  3. requete sql avec variable
    Par stefon dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/08/2006, 16h29
  4. [Oracle] requete oracle avec php
    Par ghostdog dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/05/2006, 17h21
  5. requete sql avec variable
    Par Mihalis dans le forum Bases de données
    Réponses: 15
    Dernier message: 07/04/2006, 10h17

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