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 Fri 12 September 2008 00:09

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

SQL Oracle et spool

Bonjour,

Je cherche à spooler cette requête :

set colsep ";";
set pages 0;
Set Tab OFF;
set newpage NONE;
set recsep off;
set feedback off;
set LINESIZE 250;
spool C:serelle.log;
Select op.GID ||';'|| op."Denomm" ||';'||'51'||substr(parc.IDENT,1,3) ||';'||
ltrim(substr(parc.IDENT,7,2),'0') ||';'|| ltrim(substr(parc.IDENT,9,4),'0') ||';'|| parc."propriet" ||';'||
parc."nat_pro" ||';'||parc."parc_par"||';'||parc."date_acq"||';'||SDO_GEOM.SDO_AREA (parc.GEOMETRY,0.005) / 1000000||';'
    FROM
A_REIMS.U_OPFONC op ,
A_REIMS.PCI_PARC parc
WHERE
        (SDO_RELATE(op.GEOMETRY,parc.GEOMETRY,'mask=contains querytype=WINDOW')='TRUE'
        OR SDO_RELATE(op.GEOMETRY,parc.GEOMETRY,'mask=covers querytype=WINDOW')='TRUE'
        OR SDO_RELATE(op.GEOMETRY,parc.GEOMETRY,'mask=overlapbdyintersect querytype=WINDOW')='TRUE'
        OR SDO_RELATE(op.GEOMETRY,parc.GEOMETRY,'mask=equal querytype=WINDOW')='TRUE')
        and round((SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(parc.GEOMETRY,op.GEOMETRY, 0.005),0.005)/(SDO_GEOM.SDO_AREA(parc.GEOMETRY,0.005)))*100,3)  0
        and (round((SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(parc.GEOMETRY,op.GEOMETRY, 0.005),0.005)/(SDO_GEOM.SDO_AREA(parc.GEOMETRY,0.005)))*100,3) =100 OR
        (SDO_GEOM.SDO_AREA(SDO_GEOM.SDO_INTERSECTION(parc.GEOMETRY,op.GEOMETRY, 0.005),0.005))/1000000 > ((SDO_GEOM.SDO_LENGTH(SDO_GEOM.SDO_INTERSECTION(parc.GEOMETRY,op.GEOMETRY,0.005),0.1)*0.4)/2000)) AND op.GID IN (SELECT A_REIMS.U_OPFONC.GID FROM A_REIMS.U_OPFONC WHERE A_REIMS.U_OPFONC.GID'139')
spool off;


Mais pas moyen d'obtenir le fichier. Avec la clôture de la base, le traitement s'arrête. Pourtant sans le spool dans SQLView, pas de problème pour l'obtenir, le résultat.

Une idée ?

D'avance, merci, merci,

Pierre Muckensturm


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 Fri 12 September 2008 11:48

Cartosig
Participant assidu
Date d'inscription: 16 Oct 2006
Messages: 222

Re: SQL Oracle et spool

Bonjour,

Vous entrez votre commande dans SQLView (que je ne connais pas) ou en ligne de commande ? (si vous etes sous windows..).
Je vous recommande déjà de vérifier votre syntaxe.

Code:

spool C:serelle.log;

A mon avis le spool ne risque pas de marcher sans : spool C:\serelle.log;

Sauf si votre environnement accepte l'absence du slash...

Hors ligne

 

Pied de page des forums

Powered by FluxBB