|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Bonjour,
Sur toutes les bases créé avec le scénario ci-dessous, je peux, sans problème faire un : SELECT * FROM MATABLE mais si je tente un SELECT libelle FROM MATABLE j'ai droit à une erreur (-206) Column unknow LIBELLE. Même punition si je tente un SELECT * FROM MATABLE ORDER BY libelle il va sans dire que le champ libelle existe. Le pb viens certainement de l'outil que j'utilise : IBAccess. Je ne tiens pas particulièrement à cette outil, qui est d'une ergonomie douteuse, mais qui a le mérite de savoir tout faire. Simplement, j'aimerais bien comprendre. Se soupsonne un pb de droit, mais je ne vois pas trop comment y remédier. J'ai fais l'essai en repartant de rien, avec Firebird 1.5 et IBAccess, je crée une base, puis une table avec 2 champs, "code" et "libelle" (un entier non null et un varchar(40)) et je saisie quelques enregistrement. Je tente mes select et paf ! Quelqu'un a une idée ?
__________________
-- vanquish |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : mai 2003 Messages : 140 ![]() |
Error Code 206 correspond généralement à une colonne inexistante. Essaye avec Libelle en majuscule (normalement cela ne change rien mais je ne connais pas IBAcces).
__________________
Les deux mots les plus brefs et les plus anciens, oui et non, sont ceux qui exigent le plus de réflexion. "Pythagore" |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
J'ai essayé majuscule/minuscule.
Et le pb du SELECT existe quelque soit le client. D'habitude j'utilise un outil de script maison qui permet aux clients de patcher leur base de façon simple. Mais comme il s'agit là d'un tout petit rojet perso, j'ai voulu définir ma base "à la main". A noté que je suis passé à Marathon et que j'ai créé ma base et que je n'ai plus de pb. Mais que peut bien faire IBAccess pour provoquer un tel pb. J'ai tenté un gfix qui ne signale rien. Un mend suivi d'un backup/restore Visiblement la base n'est pas cassée. Comme je le disais j'aimerais bien comprendre ce qui ce passe, car si un jour ce genre de gag m'arrive chez un client, je serais dans une belle panade. Mais je ne suis pas bloqué.
__________________
-- vanquish |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() |
Ayant suivi des cours de base de données en IUT l'année dernière, je ne suis pas sûr que l'on peut mettre le champ de la table (ici libellé) en paramètre derrière ton SELECT. Bien sûr je peux me tromper.
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
La reponse est toute simple et est du à l'application des normes SQL des noms.
Vous avez déclaré non pas une colonne LIBELLE ou libelle ou Libelle (qui reviendrait à la même chose) mais vous avez déclarez une colonne "libelle". Quand on utilise les doubles cotes les noms ne sont pas transformés. Donc si vous voulez faire référence à votre colonne il faut continuer à utiliser les doubles cotes (à moins que votre nom ait été écrit entièrement en majuscule, dans ce cas les double cotes ne sont pas obligatoires) Code :
SELECT "libelle" FROM matable ORDER BY "libelle"; de même que "Libelle" sera une colonne différente de "libelle" ou "LIBELLE". Bref les doubles cotes c'est bien pour faire jolie, avoir des noms respectant les majuscules/minuscules voir même les accents. Mais attention leurs utilisations devient plus périeuse et peut poser des problemes. Mois j'utilise IBExpert qui automatiquement créé les nom en majuscule. |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Merci Barbibulle pour ces explications.
Avec les cotes cela fonctionne parfaitement. Mais je ne suis pas certain d'avoir compris à 100%. C'est IBAccess qui ajouterait ces cotes lors du Create (et autres ALTER) ? C'est ça ? En fait j'aime bien IBAccess qui malgrè son ergonomie douteuse permet à peu près de tout faire. Marathon est mieux fini mais incomplet. IBExpert à l'air très bien, mais il est un peu cher pour l'usage que j'en ai (si j'ai utilisé un tel produit, 1h depuis septembre c'est le bout du monde)
__________________
-- vanquish |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui c'est IBAccess qui ajoutait pour vous les cotes lors des créates et Alter.
Sinon en ce qui concerne IBExpert la version gratuite n'est pas très cher En d'autre terme il existe une version commerciale que l'on peux essayer pendant 45 jours je crois (IBExpert Trial version) et il existe aussi une version entièrement gratuite sans limite de temps. Elle est juste bridée sur quelques outils.(IBExpert Free Personnal Edition) Dans cette version il manque : Le designer de database, le debugger de SP/Trigger, le requetteur visuel, l'editeur de rapport, le générateur de données, l'editeur de Blob, le gestionnaire des droits, l'analyseur de SP/trigger/vues, le database compareur, et quelques autre plus petites choses. Ca parrait beaucoup de chose en moins mais en fait IBExpert fait tellement de choses que même sans ses fonctions je suis certain qu'il en fait plus que la plupart des autres produits gratuits. Bref IBExpert free personnal c'est ici : http://www.hksoftware.net/download/ Bon courage |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() Inscription : juin 2002 Messages : 240 ![]() |
Merci (un peu tardif, j'étais en congès) pour ces conseils.
L'intérêt des outils gratuit gratuit (comme IBAccess ou Marathon) c'est qu'on peu en laisser trainer une copie chez le client. Difficle de laisser une copie "avec licence Personnelle" d'IBExpert. Mais tu as attiser ma curiosité, je vais y jeter un coup d'oeil (j'ai aussi des projet perso, et c'est justement sur un tel projet que j'avais pb). Merci encore.
__________________
-- vanquish |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com