Il semble que vous voulez regarder dans le package fourni Oracle UTL_FILE, comme vous essayez d'utiliser PL/SQL pour créer le fichier.
Vous pouvez générer le fichier de cette façon:
(Vous devrez créer un répertoire Oracle d'abord, pointant vers l'emplacement du système d'exploitation du fichier:
CREATE OR REPLACE DIRECTORY DIR AS 'your OS directory';
Notez que le nom « DIR . »est utilisé dans l'exemple de code qui suit Vous aurez également besoin le privilège CREATE DIRECTORY, puis lire et autorisations accordez d'écriture sur le répertoire à l'utilisateur qui va l'utiliser:
GRANT READ,WRITE ON DIR TO user1;
)
DECLARE
v_logfile VARCHAR2(100);
v_FH UTL_FILE.FILE_TYPE;
BEGIN
v_logfile := TO_CHAR(SYSDATE,'YYYYMMDD HH24MISS')||'_process.log';
v_FH := UTL_FILE.FOPEN(DIR, v_logfile, 'w');
UTL_FILE.PUTLINE(v_FH, 'Some text on a new line');
UTL_FILE.FCLOSE(v_FH);
END;
OP a déclaré que cela devait être fait à partir de PL/SQL. C'est une solution SQL * Plus-centric qui ne fonctionnera pas en PL/SQL. – DCookie
Pour DCookie - l'OP n'a pas déclaré que le fichier devait être créé à partir de PL/SQL, juste "d'Oracle". Ils ont ensuite déclaré qu'ils voulaient «écrire les exceptions ou les erreurs jetées par mon code pl/sql dans un fichier et sortir», j'en ai supposé que le PL/SQL était exécuté par SQL * Plus donc j'ai donc construit ma réponse correctement. –
@Paul, point pris - la question n'est pas parfaitement claire. Je dirais, cependant, que "d'Oracle" n'est pas la même chose que "de SQL * Plus" (et SQL * Plus n'a jamais été mentionné), bien que certains ne voient pas la différence, comme c'est le cas avec l'OP. – DCookie