Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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 23/08/2007, 15h00   #1
Nouveau Membre du Club
 
Inscription : janvier 2005
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 85
Points : 25
Points : 25
Par défaut Spool filename avec variable different sous linux et windows

Bonjour,

j'ai un petit souci avec ce script. Je souhaite générer un nom de fichier pour mon spool qui contient le nom de la base de donnees.

J'ai donc le code suivant.

Code :
1
2
3
4
5
6
7
8
9
COLUMN timecol new_value timestamp NOPRINT
 
SELECT SYS_CONTEXT('USERENV', 'DB_NAME') AS timecol
FROM sys.dual
/
spool &timestamp
SELECT sysdate FROM sys.dual
/
spool off
Il fonctionne tres bien sous linux mais sous windows, j'obtiens un fichier "&timestamp.LST". Il interprète donc pas la variable.

Ma base est Oracle 10 R1 sous linux. Sqlplus 10 sous linux et windows.

J'ai également comparé tous les parametres de sqlplus (avec un show all) mais j'ai les meme valeurs.

Avez-vous une idée ?

Merci d'avance.
loupin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 15h18   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
essaye avec un

c'est probablement le paramètrage de SQL*Plus qui est différent
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 16h54   #3
Nouveau Membre du Club
 
Inscription : janvier 2005
Messages : 85
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 85
Points : 25
Points : 25
Je viens de tester, sans succès.

J'ai également fait un
sur les 2 machines (linux et windows) pour comparer les variables de config de sqlplus (via un diff sur linux). Les seuls parametres qui differents sont : serveroutput, sqlprompt, et timing. Donc rien a voir avec mon probleme.

J'ai parcouru le "SQL*Plus® User's Guide and Reference version 10.2" a la recherche d'une variable de config qui modifierait ce comportement mais encore sans succes.

Je manque d'idées.
loupin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 17h20   #4
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 972
Points : 3 972
Je ne sais pas si ça peut te mettre sur une piste, mais sur mon poste windows, j'ai ce script qui se lance pour chaque ouverture de session sous sql*plus et qui spool :

Code :
1
2
3
4
5
6
7
8
define sql_prompt=idle
COLUMN user_sid new_value sql_prompt
SELECT lower(user) || '@' || '&_CONNECT_IDENTIFIER' user_sid FROM dual;
SET sqlprompt '&sql_prompt> '
 
COLUMN log_file new_value log_file
SELECT 'C:\Temp\' || to_char( sysdate , 'YYMMDD_HH24MISS' ) || '_&sql_prompt' || '.log' log_file from dual;
spool &log_file
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2007, 16h49   #5
Nouveau Membre du Club
 
Inscription : juillet 2006
Messages : 40
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 40
Points : 33
Points : 33
As-tu essayé avec autre chose que timestamp ? Peut-être est-ce un mot réservé ?
J'ai essayé ton script sur Windows et Unix et c'est OK.
Vincent_D est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2007, 14h04   #6
Invité de passage
 
Inscription : novembre 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 1
Points : 1
Points : 1
Par défaut Par défaut Spool filename avec variable different sous linux et windows

En ajoutant 2 points ca devrait régler le problème.

Ce qui donne

COLUMN timecol new_value timestamp NOPRINT

SELECT SYS_CONTEXT('USERENV', 'DB_NAME') AS timecol
FROM sys.dual
/
spool &timestamp..
SELECT sysdate FROM sys.dual
/
spool off
oracle_diali 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 04h53.


 
 
 
 
Partenaires

Hébergement Web