Bonjour tout le monde,
Voila, je voudrais manipuler des fichiers en PL/SQL et j'ai vu que le package utl_file permet de le faire.
En suivant un exemple que j'ai adapté, j'ai obtenu le code suivant :
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
DECLARE
  monfic   VARCHAR2(30) := 'entree.txt' ;
  mondir   VARCHAR(128) := 'D:\scripts\files_in';
  ft_monfic	UTL_FILE.FILE_TYPE ;
  ligne	VARCHAR2(32767) ;  
  err_msg    VARCHAR2(256) ;
  monexc    EXCEPTION ;
BEGIN
 
  -- Ouverture du fichier en entree
  BEGIN
    ft_monfic := UTL_FILE.FOPEN( mondir, monfic, 'R', 32764 ) ;
  EXCEPTION
    WHEN OTHERS THEN
    err_msg := SQLERRM || ' [' || mondir || '] -> ' || monfic;
    RAISE monexc ;
  END ;
 
  -- Traitement --
  BEGIN
    LOOP
      -- lecture du fichier en entree --
      UTL_FILE.GET_LINE( ft_monfic,  ligne ) ;
      DBMS_OUTPUT.PUT_LINE(ligne);
    END LOOP ;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN -- Fin du fichier en entree
      -- Fermeture des fichiers --
    UTL_FILE.FCLOSE( ft_monfic ) ;
  END  ;		 		
 
EXCEPTION
   WHEN monexc THEN
     UTL_FILE.FCLOSE_ALL ;
     RAISE_APPLICATION_ERROR( -20100, err_msg ) ;
END ;
/
Quand j'exécute ce script, la console m'affiche que UTL_FILE doit être déclaré
Je cherche un peu avec mon ami google ce que ça veut dire et donc je me suis retrouvée à lancer utlfile.sql (qui se trouve dans D:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\)
Je me retrouve donc avec une nouvelle erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ORA-04067: package body "SYSTEM.UTL_FILE" n'existe pas
et effectivement, dans utlfile.sql, il n'y a que les spec du package...
Quelqu'un peut-il me dire où trouver le corps de ce package? ou tout simplement comment je pourrais lancer ce script?
Merci

PS : j'utilise Oracle Database 10g Express Edition