Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD > InterBase
InterBase Forum d'entraide sur le SGBD InterBase de Codegear. Avant de poster -> F.A.Q Interbase, Tutoriels
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 31/03/2005, 12h58   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 1
Points : 1
Par défaut Message erreur InterBase

Bonjour,
Je viens de passer de Access à InterBase et j'ai qq problèmes à passer mes query Access sous InterBase.
J'utilse InterBase 6 avec DataWorckbench 2.5.
Quand je crée un view avec une concaténation, je recois le msg d'erreur suivant:ISC ERROR MESSAGE Dynamic SQL Error SQL error code = -607
invalid commande must specify column name for view select expression.

Si je retire la concaténation ( LECTEUR_NETWORK || '\' || ENTERPRISE_NAME || '\' || JOB_NAME || '\' || FILE_FILES AS FILE_ROOT) ca marche.
Suelqu un pourrait il me dire trouver la doc avec tous les message d erreur pour interbase?

J'ai essayé le code dans un programme pour tester la requète sql, ca fonctionne mais pas dans interbase

Merci,

Richard

Voici le code Complet pour celui que ca intéresse:

Code :
1
2
3
SELECT LECTEUR_NETWORK || '\' || ENTERPRISE_NAME || '\' || JOB_NAME || '\' || FILE_FILES AS FILE_ROOT,BASKET.BASKET_ID, FILES.FILE_ID, FILES.FILE_JOB_ID, FILES.FILE_NBPAGE, FILES.FILE_FILETYPE_ID, BASKET.BASKET_PRODUCTTYPE, FILES.FILE_PREVIEW, FILES.FILE_PRINT
FROM LECTEURS INNER JOIN ((ENTERPRISES INNER JOIN LIBRARIES ON ENTERPRISES.ENTERPRISE_ID = LIBRARIES.LIBRARY_ENTERPRISE_ID) INNER JOIN ((JOBS INNER JOIN BASKET ON JOBS.JOB_ID = BASKET.BASKET_PRODUCT_ID) INNER JOIN FILES ON JOBS.JOB_ID = FILES.FILE_JOB_ID) ON LIBRARIES.LIBRARY_ID = JOBS.JOB_LIBRARY_ID) ON LECTEURS.LECTEUR_ID = FILES.FILE_LECTEUR_ID
WHERE ((BASKET.BASKET_PRODUCTTYPE)=1)
tchaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2005, 18h39   #2
Rédacteur
 
Inscription : janvier 2004
Messages : 2 123
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : janvier 2004
Messages : 2 123
Points : 1 977
Points : 1 977
Salut,

Peux-tu éditer ton message afin de rajouter des balises Code.

Citation:
( LECTEUR_NETWORK || '\' || ENTERPRISE_NAME || '\' || JOB_NAME || '\' || FILE_FILES AS FILE_ROOT)
Pourquoi donnes-tu un alias à FILE_FILES ?
Je pense que tu voulais plutot quelque chose dans ce style :
Code :
(LECTEUR_NETWORK || '\' || ENTERPRISE_NAME || '\' || JOB_NAME || '\' || FILE_FILES) AS FILE_ROOT
A vérifier...
__________________
Ancien pseudo : yobenzen

Recherche un emploi de Chef de Projet ou Développeur en Normandie
Delphi/Oracle/Interbase
Migration vers symfony

CV :
- LinkedIn
- Viadeo
Benjamin GAGNEUX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 10h32   #3
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 1
Points : 1
Oui c'était une erreur en recopiant le code,merci.
Mais g tjs kle meme message d erreur.
tchaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 10h45   #4
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Je n'ai pas lu toute la requete (mal formatée et je trouve les inner join pas clair).

Mais si j'ai bien compris la requete passe sans la concaténation donc on peux supposer en effet que celà vient de là.

Les champs conccaténé ne serait il pas present dans plusieurs tables à la fois ?
Avez vous essayer ceci :
Code :
1
2
3
SELECT LECTEUR_NETWORK, ENTERPRISE_NAME, JOB_NAME, FILE_FILES AS FILE_ROOT, BASKET.BASKET_ID, FILES.FILE_ID, FILES.FILE_JOB_ID, FILES.FILE_NBPAGE, FILES.FILE_FILETYPE_ID, BASKET.BASKET_PRODUCTTYPE, FILES.FILE_PREVIEW, FILES.FILE_PRINT 
FROM LECTEURS INNER JOIN ((ENTERPRISES INNER JOIN LIBRARIES ON ENTERPRISES.ENTERPRISE_ID = LIBRARIES.LIBRARY_ENTERPRISE_ID) INNER JOIN ((JOBS INNER JOIN BASKET ON JOBS.JOB_ID = BASKET.BASKET_PRODUCT_ID) INNER JOIN FILES ON JOBS.JOB_ID = FILES.FILE_JOB_ID) ON LIBRARIES.LIBRARY_ID = JOBS.JOB_LIBRARY_ID) ON LECTEURS.LECTEUR_ID = FILES.FILE_LECTEUR_ID 
WHERE ((BASKET.BASKET_PRODUCTTYPE)=1)
Si vous avez le même message d'erreur prefixes les nom des champs par le nom de la table ou un alias.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 11h07   #5
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 1
Points : 1
Désolé pour le formatage du code mais j'ai récupéré directement le code sql d'access.

Je cherche à concaténer les champs : LECTEUR_NETWORK ,ENTERPRISE_NAME ,JOB_NAME, FILE_FILES dans un allias FILE_ROOT afin de créer un chemin pour accéder à ces fichiers.

(LECTEUR_NETWORK || '\' || ENTERPRISE_NAME || '\' || JOB_NAME || '\' || FILE_FILES) AS FILE_ROOT

Et si je crée mon view sans la concaténation et que j'essaye de la rajouter par apres.J'ai un message d'erreur disant:
STORE RDB$RELATION_FIELDS failed attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_15"
tchaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 11h16   #6
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Vous ne pouvez pas expliquer plus en détail ce que vous faites et plus précisément ?
Plus vous serez appliqué à décrire votre probleme et les tests que vous faites plus vous mettez des chances qu'on trouve votre pprobleme.

A/Avez vous essayez l'ordre SQL que je vous ai écrit ? si oui quel est le résultat.

B/Vous nous parlez de view ??? et vous nous mettez un SELECT en exemple.
Si c'est une vue que vous essayez de créer donnez l'ordre de création complet.

Sachez par ailleur que si vous avez créez déjà une vue de même nom, il faut la détruire avant de la recréer, sinon vous aurez ce type de message.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 11h35   #7
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 1
Points : 1
Oui j'ai testé votre code sql et le message d'erreur est le même.

J'essaye de créer une requête (le nom est unique) qui me permet de créer un lien cliquable pour ma page html.En utilisant le contenu de 4 champs (LECTEUR_NETWORK / ENTERPRISE_NAME / JOB_NAME / FILE_FILES) et en remettant le tout dans un allias (FILE_ROOT)
(ex: data/client1/doc/test.doc)

Désolé pour l'utilisation du nom "view".
C'est parcque dans le programme (DataWorckbench) que j'utilse,les requetes que je crée sont dans le dossier "view".
J'ai commencer à utiliser InterBase depuis une semaine et je ne suis pas encore familiarisé avec tous les termes.

J'ai essayé de mettre le nom des table devant les champs mais j'ai tjs le meme message d'ereur qui me dit que je doit spécifié un nom de colonne pour l'expression select de la vue.

Est ce que g dois faire une vue plus simple puis fair mon SELECT dessus?
[/code]
tchaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 11h42   #8
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Citation:
Envoyé par tchaman
Oui j'ai testé votre code sql et le message d'erreur est le même.
OK donc celà veux dire que ça ne vient pas de la concaténation mais d'un des champs.

Je ne connais pas DATAWorkBench et je ne sais pas ce qu'il entend par view. Mais normalement c'est une VUE. Donc c'est un objet créé dans la base.

Votre SELECT c'est ce qu'on appel une REQUETE.

Une Vue est contruite suivant une REQUETE de type SELECT.

Essayez de détruire la VUE et réessayer la requete que je vous ai donné.
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 13h24   #9
Invité de passage
 
Inscription : décembre 2004
Messages : 13
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 13
Points : 1
Points : 1
Pourriez vous me dire le programme que vous utiliser pour editer vos databases InterBase car le problème vient peut être du programme que j'utilise.
J'ai essayer le code suivant et j'ai le meme message d'erreur:
Code :
1
2
3
SELECT LECTEUR_NETWORK, ENTERPRISE_NAME, JOB_NAME, FILE_FILES AS FILE_ROOT
FROM LECTEURS ,ENTERPRISES ,JOBS ,FILES,BASKET
WHERE BASKET_PRODUCTTYPE=1
tchaman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2005, 15h50   #10
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Moi j'utilise IBExpert que j'ai acheté.

Mais vous pouvez soit télécharger la version gratuite auquel il manque quelques fonctions (mais ce n'est pas bloquant pour créer une base complête) ou vous pouvez tester la version Trial qui est complête je crois et limité à 30 ou 45 jours.

Mais il en existe bien d'autres IBMannager (payant version trial 30 jours) IBAdmin (gratuit), etc.

Lisez ceci vous en découvrirez peut etre d'autres : http://www.developpez.net/forums/viewtopic.php?t=56635
Barbibulle 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 05h43.


 
 
 
 
Partenaires

Hébergement Web