Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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 17/02/2007, 14h54   #1
Invité régulier
 
Inscription : février 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 47
Points : 9
Points : 9
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
esthr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2007, 15h00   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Citation:
Envoyé par esthr
...sql direct de access signale une erreur dans ma requete oracle...
Quelle erreur exactement ?
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2007, 15h06   #3
Invité régulier
 
Inscription : février 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 47
Points : 9
Points : 9
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!
esthr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 08h13   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
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
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 13h51   #5
Membre habitué
 
Inscription : février 2007
Messages : 216
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 216
Points : 115
Points : 115
Bonjour;
je ne sais pas exactement mais je crois que:
select * from table where datoper = &datoper va marcher, essaie.
elharet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2007, 20h38   #6
Invité régulier
 
Inscription : février 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 47
Points : 9
Points : 9
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...
esthr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 10h56   #7
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
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 :
SELECT * FROM TABLE WHERE datoper = [Saisir date opération]
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 16h46   #8
Invité régulier
 
Inscription : février 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 47
Points : 9
Points : 9
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!
esthr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 16h51   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
bon... je crois qu'on a été clair, c'est un problème ACCESS. Merci d'orienter tes recherches dans le forum ad hoc
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 19h11   #10
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
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
remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2007, 19h20   #11
Invité régulier
 
Inscription : février 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 47
Points : 9
Points : 9
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...
esthr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 14h39   #12
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
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.
remi4444 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 04h16.


 
 
 
 
Partenaires

Hébergement Web