Oracle phân biệt chữ hoa chữ thường. Nhưng tất cả các tên trong SQL và PL / SQL được tự động chuyển đổi thành chữ hoa trừ khi được đặt trong dấu ngoặc kép.
Vì vậy:
CREATE DIRECTORY test_dir AS 'c:\';
thực sự được thực thi dưới dạng:
CREATE DIRECTORY TEST_DIR AS 'c:\';
Do đó, thư mục bạn đã xác định được gọi là TEST_DIR
. Nếu bạn tham chiếu đến nó trong một chuỗi (trái ngược với tên ký hiệu trong SQL hoặc PL / SQL), bạn phải sử dụng 'TEST_DIR'
. 'test_dir'
sẽ không hoạt động.
Vì vậy, hãy thử:
fileHandler := UTL_FILE.FOPEN('TEST_DIR', 'test_file.txt', 'W');