UTL_FILE в PL/SQL. Введение
Oracle SQL не работает с файлами напрямую, но в PL/SQL есть мощный инструмент — пакет UTL_FILE, который позволяет читать, записывать и управлять внешними файлами на сервере базы данных. Это используется для логирования, экспорта данных, чтения конфигураций и т.д.
Работа с файлами в Oracle происходит через директории, зарегистрированные в базе, и функции UTL_FILE.
🔤 Написание
'DIR_NAME'— имя созданной в Oracle директории'file.txt'— имя файла'w'— режим (w — запись, r — чтение)
🔄 Где используется
Вывод логов в текстовые файлы
Импорт конфигураций
Генерация отчётов
Архивация данных
Интеграция с другими системами через файловый обмен
🧪 10 Примеров использования UTL_FILE в PL/SQL
1️⃣ Создание директории в Oracle
2️⃣ Запись строки в файл
3️⃣ Чтение файла построчно
4️⃣ Добавление текста в файл
5️⃣ Обработка исключения при ошибке доступа
6️⃣ Проверка существования файла через доступ
Oracle напрямую не проверяет наличие файла, но можно использовать внешние процедуры или контроль на уровне ОС.
7️⃣ Логирование завершения процедуры
8️⃣ Работа с CSV-файлом
9️⃣ Чтение фиксированного количества строк
🔟 Закрытие файла в любом случае (good practice)
🧩 UTL_FILE в PL/SQL. Заключение
Хотя Oracle SQL не работает с файлами напрямую, через UTL_FILE можно эффективно проводить обмен данными с внешними системами. Главное — правильно настроить директорию и обработать возможные ошибки.
💡 Запомни:
Используй
CREATE DIRECTORYи праваGRANT READ, WRITEВсегда закрывай файл после работы
Обрабатывай исключения для устойчивости
Подходит для логов, отчетов, CSV, обмена данными
🔜 Следующая статья:
FETCH в Oracle SQL — как извлекать строки из курсора и обрабатывать результат пошагово