Попытка создать выходной файл с помощью процедуры, но не могу изменить init.ora, чтобы разрешить utl_file_dir или создать каталог. Есть ли другой способ достичь этого, не создавая таблицы и делая простой бланк, к сожалению, этот вопрос тоже не задан.Напишите файл в PL/SQL без spools или utl_file
ответ
Нет. Вам понадобится доступ к init.ora
, чтобы сделать это с помощью Oracle.
Единственный другой вариант, о котором я могу думать, это использование процедуры Java для записи файла. Я не мог найти никаких особых требований, которые вам нужно использовать. Прочитайте по этой теме here.
Если у вас есть доступ к sqlplus, добавьте сообщения dbms_output.put_line в код и запустите его в sqlplus. Перед типа беговой:
spool <filename you want>
затем
spool off
закрыть файл и перестать писать.
Либо это, либо использование Java может быть вариантом, но вам понадобятся дополнительные привилегии для доступа к файловой системе и компиляции java-метода на db.
Вам действительно должен быть предоставлен доступ к каталогу в файловой системе. Поговорите с dba, и если есть бизнес-требование, вы сможете это сделать.
ОП заявил, что не может использовать катушку. –
OP должен поговорить с его dba - чтобы подвести итог, он ничего не может изменить о своей среде, и он не может запустить sqlplus через клиента. Что именно он может сделать! – kayakpim
Это так. –
, чтобы соскочить с статьи, с которой вы связались, этот был полезен. https://oracle-base.com/articles/8i/file-handling-from-plsql, который я нашел только потому, что знал, что искать от вашего ответа. – DEwok