Bonjour,

Je suis nouvellement inscrite sur le forum et espère que mon post ne fera pas doublon.
J'ai parcouru en diagonale les posts à la recherche d'une solution à mon problème et malheureusement je n'ai trouvé aucune solution.

C'est un peu un appel au secours que je lance

Avant toute chose, je dois préciser que je débute totalement en sqlplus et pl/sql.

J'ai un script test.sql qui contient cela:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
SET echo ON
 
/* ********** 1 - ask for INPUT parameters ********** */
/* Ask to the user if he is sure to launch this script on the selected instance */
ACCEPT confirmLaunchLua CHAR FORMAT 'A1' DEFAULT 'N' PROMPT 'Do you really want to launch this script on &_CONNECT_IDENTIFIER instance? (answer Y for yes or N for No): ';
 
/* Ask to the user to give the password to allowed the script to connect to the schema */
ACCEPT password CHAR PROMPT 'Can you entered the password which allows to connect to the schema? ' HIDE;
 
SET head off
SET feed off
 
/* Get all parameters from properties file */
@properties
 
connect &schema_name/&password@&_CONNECT_IDENTIFIER
spool ON
Spool spool_functions
@functions
spool OFF
Dans le fichier properties se trouve la variable schema_name définit comme suit :
DEFINE schema_name='mon_schema'

Et dans le fichier functions j'effectue des tests en PL/SQL et trace dans un fichier en cas d'erreur.

Ce script fonctionne très bien sauf quand je renomme mon fichier properties afin de me générer une erreur et voir comment réagit le script.
Dans ce cas j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
SQL> @properties
SP2-0310: impossible d'ouvrir le fichier "properties.sql"
SQL> connect &schema_name/&password@&_CONNECT_IDENTIFIER
Entrez une valeur pour schema_name :
J'aimerai trouver une solution pour que le script test.sql s’arrête quand il ne trouve pas le fichier et me rende la main.
J'ai vu qu'on pouvait utiliser cette commande : WHENEVER OSERROR EXIT
mais je ne souhaite pas quitter l'environnement SQL*Plus en cas d'erreur donc cela ne résout pas mon problème


J'ai bien pensé à faire un test en PL/SQL en tentant d'ouvrir le fichier mais pour cela il faut passer le chemin absolue où se trouve le fichier et cela n'est pas possible car ce script et l'ensemble des fichiers(properties et functions) vont être livrés chez le client et je ne sais absolument pas où ils seront mis. donc il faudrait que je puisse ouvrir le fichier mais avec le chemin relatif et ce n'est apparemment pas possible.

J'espère avoir donné toutes les informations possibles.

Si un maître jedi du SQLPLUS ou PL/SQL pouvait sauvé la vie du jeune padawan que je suis