Bonjour,
j'essaie depuis quelques temps de faire une fonction qui me permettrait d'ajouter règulièrement des données lues en base dans un fichier.
J'ai fait plusieurs essais, mais je reviens toujours au même point, l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ORA-29283: opération non valide sur le fichier
J'utilise Oracle10G
J'ai les droits sur ce fichier au niveau de windows.

J'ai créé un DIRECTORY :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CREATE OR REPLACE DIRECTORY CHEMIN AS 'D:/monrep/fichier/'
GRANT READ, WRITE ON CHEMIN TO PUBLIC;
GRANT READ, WRITE ON CHEMIN TO MONUSER;

Je me connecte à la base en tant que MONUSER
Voici le code que j'exécute :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DECLARE
 
nom_fichier VARCHAR2(30) := 'test.csv';
nom_chemin VARCHAR2(30) := 'CHEMIN';
fich UTL_FILE.FILE_TYPE;
EXP    EXCEPTION ;
 
BEGIN
	 fich := UTL_FILE.FOPEN (nom_chemin,nom_fichier,'R',1000);
	 EXCEPTION
     	WHEN OTHERS THEN
		DBMS_OUTPUT.PUT_LINE(SQLERRM || ' [' || nom_chemin || '] -> ' || nom_fichier);
		RAISE EXP ;
END;
Je suppose qu'il faut attribuer certains droits à Oracle sur le fichier ou le dossier utilisé, mais je ne sais pas exactement comment procéder.
Si quelqu'un à déjà eu ce problème, et peut m'aider, merci d'avance.