2015-06-18 6 views
1

Попытка создать выходной файл с помощью процедуры, но не могу изменить init.ora, чтобы разрешить utl_file_dir или создать каталог. Есть ли другой способ достичь этого, не создавая таблицы и делая простой бланк, к сожалению, этот вопрос тоже не задан.Напишите файл в PL/SQL без spools или utl_file

ответ

1

Нет. Вам понадобится доступ к init.ora, чтобы сделать это с помощью Oracle.

Единственный другой вариант, о котором я могу думать, это использование процедуры Java для записи файла. Я не мог найти никаких особых требований, которые вам нужно использовать. Прочитайте по этой теме here.

+0

, чтобы соскочить с статьи, с которой вы связались, этот был полезен. https://oracle-base.com/articles/8i/file-handling-from-plsql, который я нашел только потому, что знал, что искать от вашего ответа. – DEwok

-1

Если у вас есть доступ к sqlplus, добавьте сообщения dbms_output.put_line в код и запустите его в sqlplus. Перед типа беговой:

spool <filename you want> 

затем

spool off 

закрыть файл и перестать писать.

Либо это, либо использование Java может быть вариантом, но вам понадобятся дополнительные привилегии для доступа к файловой системе и компиляции java-метода на db.

Вам действительно должен быть предоставлен доступ к каталогу в файловой системе. Поговорите с dba, и если есть бизнес-требование, вы сможете это сделать.

+0

ОП заявил, что не может использовать катушку. –

+0

OP должен поговорить с его dba - чтобы подвести итог, он ничего не может изменить о своей среде, и он не может запустить sqlplus через клиента. Что именно он может сделать! – kayakpim

+0

Это так. –