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 :
Quand j'exécute ce script, la console m'affiche que UTL_FILE doit être déclaré 8OCode:
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 ; /
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 :( :
et effectivement, dans utlfile.sql, il n'y a que les spec du package...Code:ORA-04067: package body "SYSTEM.UTL_FILE" n'existe pas
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