#1 Tue 25 January 2011 14:03
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
sqlexecutor : message d'erreur ?
Aloha
Je lis ma table parcelle mais je souhaite exécuter parallèlement une requête afin de l'enrichir de donner. Voici la requête :
Code:
SELECT MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA AS ID_PARCELLE, S1.BATIMENT, COUNT (S1."N° invariant") AS "Nb Lots de la copropriété" FROM PLATINI.MJ2_PARCEL MJ2_PARCEL INNER JOIN (SELECT MJ2_BATI.INVAR AS "N° invariant", MJ2_DESCPEV.DNUPEV AS "N° PEV", MJ2_PROPRIO.DNUPRO AS "N° de propriétaire", MJ2_LOCAL.JDATAT AS "Année de mutation", MJ2_LOCAL.JANNAT AS "Année de construction", MJ2_LOCAL.CCONLC AS "Nature du local", MJ2_DESCPEV.DCAPEC AS "Catégorie", MJ2_DESCPEV.DCETLC AS "Coeff d'entretien", MJ2_HABPRINC.DNBPPR AS "Nb piéces principales", MJ2_HABPRINC.DNBPDC AS "Nb piéces", MJ2_HABPRINC.DSUPDC AS "surface des piéces (hors dépe)", MJ2_BATI.DNUBAT AS batiment, MJ2_BATI.D_ESC AS escalier, MJ2_BATI.DNIV AS niveau, MJ2_BATI.DPOR AS porte, MJ2_BATI.DVOILIB AS voie, MJ2_BATI.CCOCOM || '000' || MJ2_BATI.CCOSEC || MJ2_BATI.DNUPLA AS CODE_PARC, CASE MJ2_DESCPEV.CCTHP WHEN 'L' THEN 'Loué' WHEN 'P' THEN 'PO' WHEN 'V' THEN 'Vacant' ELSE CCTHP END AS OCCUPATION, MJ2_LOCAL.GPDL FROM ( ( ( PLATINI.MJ2_LOCAL MJ2_LOCAL INNER JOIN PLATINI.MJ2_BATI MJ2_BATI ON (MJ2_LOCAL.INVAR = MJ2_BATI.INVAR)) INNER JOIN PLATINI.MJ2_PROPRIO MJ2_PROPRIO ON (MJ2_PROPRIO.CCOCOM = MJ2_BATI.CCOCOM) AND (MJ2_LOCAL.DNUPRO = MJ2_PROPRIO.DNUPRO)) INNER JOIN PLATINI.MJ2_DESCPEV MJ2_DESCPEV ON (MJ2_DESCPEV.INVAR = MJ2_BATI.INVAR)) INNER JOIN PLATINI.MJ2_HABPRINC MJ2_HABPRINC ON (MJ2_DESCPEV.INVAR = MJ2_HABPRINC.INVAR) AND (MJ2_DESCPEV.DNUPEV = MJ2_HABPRINC.DNUPEV) WHERE ( ( (MJ2_DESCPEV.DNUPEV = '001' AND MJ2_DESCPEV.CCOAFF = 'H') AND MJ2_PROPRIO.GTOPER = '1') AND MJ2_LOCAL.GPDL <> '0')) S1 ON ( MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA = S1.CODE_PARC) GROUP BY S1.BATIMENT, MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA
J'ai bien ajouté les noms des attributs en sortie, mais j'ai un message d'erreur :
Executing SQL: 'SELECT MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA AS ID_PARCELLE, S1.BATIMENT, COUNT (S1.N°invariant) AS NbLotsdelacopropriété FROM PLATINI.MJ2_PARCEL [...]S1 ON ( MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA = S1.CODE_PARC) GROUP BY S1.BATIMENT, MJ2_PARCEL.CCOCOM || '000' || MJ2_PARCEL.CCOSEC || MJ2_PARCEL.DNUPLA': `ORA-01756: une chaîne entre apostrophes ne se termine pas correctement
'. (serverType=`ORACLE8I', serverName=`sige', userName=`PLATINI', password=`***', dbname=`')'
Et là je ne vois pas puisque la requête est exécuter parfaitement par sqlplus...
Quelqu'un a-t'il une idée ?
D'avance merci,
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Tue 25 January 2011 19:03
- Pookie
- Participant occasionnel
- Date d'inscription: 15 May 2006
- Messages: 25
Re: sqlexecutor : message d'erreur ?
Bonjour,
Vu le message avez vous essayé de mettre des quotes sur cette partie la
MJ2_BATI.DNUBAT AS batiment,
MJ2_BATI.D_ESC AS escalier,
MJ2_BATI.DNIV AS niveau,
MJ2_BATI.DPOR AS porte,
MJ2_BATI.DVOILIB AS voie,
Sinon la requête est correcte, les paramètres de connections sont ils bon ?
Hors ligne
#3 Wed 26 January 2011 13:29
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: sqlexecutor : message d'erreur ?
Dont acte. Comme expliqué ici, avec les bases Oracle, toujours prévoir le \" pour les quotes.
Problème déjà rencontré lors du passage de requête sql en paramètre des objets en input,...
Damned.
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#4 Wed 26 January 2011 14:28
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: sqlexecutor : message d'erreur ?
Euh c'est normal les perf' réellement déplorables de ce transformer ? (20 sec pour exécuter la requête dans sqlplus, et obtenir les 36000 enregistrements, 5 min pour parcourir les 500 premiers objets dans SQLExecutor )
Je pense donc passer par le SQL dans ma connexion Oracle (définition des Inputs) mais comment faire entrer mes 60 lignes de requêtes dans la fenêtre de définition de ma clause SELECT de ma classe en entrée ?
Il ne me prend que la première ligne !
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#5 Wed 26 January 2011 20:47
- jaykayone
- Participant actif
- Date d'inscription: 15 Feb 2007
- Messages: 95
Re: sqlexecutor : message d'erreur ?
je pense que ce serait mieux de créer une view avec votre requête et d'attaquer ensuite la vue ..
Hors ligne
#6 Thu 08 December 2011 14:52
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: sqlexecutor : message d'erreur ?
Aloha
Pour infos, j'avais suivi votre conseil à l'époque.
Cordialement,
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne