Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Interfaces de programmation
Interfaces de programmation Forum d'entraide sur l'utilisation des API Oracle : Pré-compilateurs, OCI, OCCI, etc.
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 09/08/2007, 11h23   #1
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
Par défaut Variables de substitution sous Oracle XE

Bonjour a tous,

je suis actuellement en stage et j'ai une petite appli a faire, un appli qui permetra a un client d'entrer ses devis avec autant de texte qu'il veut, qu'il les garde en memoire et qu'il puisse les consulter.
La partie saisie de données fonctionne très bien, mais pour la consultation de données, ma requete echoue systematiquement. Elle est du type:

SELECT *
FROM employees
WHERE employee_id = &employee_id;

Après cela, il me retourne l'erreur ORA-01008: toutes les variables ne sont pas liées.
Savez vous d'où provient cette erreur et comment y remedier?
Et si vous ne savez pas, vous connaissez un autre application builder?

merci de votre aide
nanakk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 14h58   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
ORA-01008 not all variables bound

Cause: A SQL statement containing substitution variables was executed without all variables bound. All substitution variables must have a substituted value before the SQL statement is executed.

Action: In OCI, use an OBIND or OBINDN call to substitute the required values.
Vérifiez qu'un nom de colonne ne commence pas par ':'. Donnez-nous aussi la requête complète. Vous exécutez la requête dans APEX ou dans SQL*Plus ou avec un autre outil ?
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 11h30   #3
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
La table est bonne, c'est sûr a 100% car c'est ce que l'on utilise en cours pour apprendre le sql, cette requete a marché tte l'année sous isql*plus, sous sql developer et la que ej fais mon appli dans oracle xe, sa marche pas. je pense que c'est a cause d'oracle xe qui est une version light...
et ma requete complete c'est bien celle la
nanakk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 11h37   #4
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
Merci de lire les rêgles du forum
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 13h55   #5
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
je trouve mon message plutot clair avec une ou deux fautes de frappes pas mechante, désolé si c'est si frappant que sa.
sinon personne d'autre n'a d'idée?

Et concretement sa correspond a quoi sa?:

Action: In OCI, use an OBIND or OBINDN call to substitute the required values

merci
nanakk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 14h27   #6
Membre confirmé
 
Inscription : janvier 2006
Messages : 178
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : janvier 2006
Messages : 178
Points : 208
Points : 208
Quel langage utilisez-vous ? Le '&' peut être considéré comme un marqueur de variable de lien, ce qui semble être le cas ici (en général c'est un ':'). Dans ce cas, vous devez trouver la fonction qui permet de lier la variable 'employee_id' pour qu'Oracle sache quoi mettre dedans au moment de l'exécution .

Par exemple en OCCI :
Code :
1
2
3
4
5
6
7
...
int iEmployeeId = 513;
Statement* stmt = conn->createStatement();
stmt->setSQL("SELECT * FROM employees WHERE employee_id = :employee_id;");
stmt->setInt(1, iEmployee_Id);
ResultSet* rs = stmt->executeQuery();
...
Si vous donniez votre langage et le code écrit jusqu'ici ce serait beaucoup plus simple de vous aider .

Cordialement,

rbaraer
rbaraer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 18h22   #7
Invité de passage
 
Inscription : août 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 5
Points : 1
Points : 1
Merci beaucoup!
en remplaçant le '&' par ':', sa fonctionne.
j'ai peu codé jusque la, juste de quoi créer une table et quelques utilisateurs.

merci sa me debloque completement! bonne soirée et bonne continuité
nanakk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h48.


 
 
 
 
Partenaires

Hébergement Web