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:
Dans le fichier properties se trouve la variable schema_name définit comme suit :
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
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:
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.
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'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
Partager