banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#1 Wed 19 February 2020 15:24

mstcx
Participant actif
Lieu: NĂźmes
Date d'inscription: 21 Feb 2008
Messages: 87

SQLExecutor

Bonjour,

J'ai un peu de mal Ă  comprendre comment fonctionne SQLExecutor...?

Je souhaiterai faire une jointure dans une base de donnĂ©e (pgsql) avec une source diffĂ©rente (csv). Sauf que je ne sais pas comment appeler ma table csv dans ma requĂȘte ?
J'ai le mĂȘme identifiant dans les 2 tables et souhaite rĂ©cupĂ©rer la gĂ©omĂ©trie et d'autres champs dans a base de donnĂ©e.

Code:

select 
*
from "schema"."table"
where "table"."id"='@Value(id)'

Cette requĂȘte ne fonctionne et me renvoie le message suivant :
La requĂȘte SQL contient une expression ou un paramĂštre global qui ne permet pas d'ĂȘtre Ă©valuĂ© sans une entitĂ©. Merci d'exĂ©cuter le traitement Ă  la place.
C'est un peu lapidaire...

Merci pour vos lumiĂšres !

Hors ligne

 

#2 Wed 19 February 2020 21:58

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 455

Re: SQLExecutor

Bonjour,

Dans ce cas il faut ajouter un reader pour le CSV et utiliser DatabaseJoinerpour faire la jointure.

Hors ligne

 

#3 Thu 20 February 2020 09:33

mstcx
Participant actif
Lieu: NĂźmes
Date d'inscription: 21 Feb 2008
Messages: 87

Re: SQLExecutor

Merci pour votre réponse.
Effectivement Databasejoiner fait bien mieux l'affaire. AprÚs consultation du support Vérémes, le problÚme venait aussi du fait que j'avais placé une étoile aprÚs le SELECT. Pour récupérer les champs il faut les écrire "en dur" dans le code.

SELECT
table.champ1,
table.champ2
FROM schema.table...

Hors ligne

 

#4 Thu 20 February 2020 13:31

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 455

Re: SQLExecutor

Le fait d'utiliser SELECT * n'est pas gĂȘnant. Je viens de faire le test.
Par contre il faut de toutes façons préciser les attributs à exposer. Donc autant ne pas utiliser l'étoile et dÚs le SELECT préciser le nom des attributs.
De maniĂšre gĂ©nĂ©rale utiliser SELECT * est pratique pour tester mais pour ĂȘtre sĂ»r de garder un rĂ©sultat identique dans le temps il vaut mieux prĂ©ciser le nom des champs.

Dernière modification par p.jeremie (Thu 20 February 2020 13:31)

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo