Oracle est sensible à la casse. Mais tous les noms en SQL et PL/SQL sont automatiquement convertis en majuscules, sauf s'ils sont entre guillemets doubles.
Donc :
CREATE DIRECTORY test_dir AS 'c:\';
est en fait exécuté comme :
CREATE DIRECTORY TEST_DIR AS 'c:\';
Par conséquent, le répertoire que vous avez défini s'appelle TEST_DIR
. Si vous y faites référence dans une chaîne (par opposition à un nom de symbole en SQL ou PL/SQL), vous devez utiliser 'TEST_DIR'
. 'test_dir'
ne fonctionnera pas.
Essayez donc :
fileHandler := UTL_FILE.FOPEN('TEST_DIR', 'test_file.txt', 'W');