|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
Подскажите, запуталась, UTL_FILE.fopen может создавать файлы только на хосте, на котором развернута БД? Есть ошибка ORA-29283: invalid file operation ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2019, 19:08 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
https://docs.oracle.com/database/121/ARPLS/u_file.htm#ARPLS70896] UTL_FILE provides file access both on the client side and on the server side. When run on the server , UTL_FILE provides access to all operating system files that are accessible from the server . On the client side, as in the case for Forms applications , UTL_FILE provides access to operating system files that are accessible from the client. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2019, 20:46 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
Есть еще какие-то нюансы, кроме запуска Oracle под учеткой, имеющей доступ к сетевому диску. Возможно, сетевой диск надо как-то монтировать в сеансе запуска службы. Т.к., в отличие от Unix, под виндой сетевой диск видится только в сеансе пользователя, его подключившего. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 06:20 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
dmdmdm, GRANT READ, WRITE ON DIRECTORY пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:24 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
DarkClawGRANT READ, WRITE ON DIRECTORY пробовали?Метод тыка хорош только для проверки тока в розетке. Хватает одного раза, чтобы больше никогда не тыкать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:27 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous, спасибо! dmdmdm, у меня Unix. DarkClaw, -2- директории в ОС созданы точно, права на них ставили и 770, и 777. Ошибка та же. Первичные группы у владельца директорий в OC и пользователя oracle - одинаковые. В БД директории созданы пользователем-схемой через CREATE OR REPLACE DIRECTORY. Этот же пользователь на БД запускает скрипт на открытие и запись файла в директорию. Дополнительные гранты на объект-директорию в БД не создавала. Может нужно? Но вроде тот, кто создал у меня директории, тот и запускает скрипт. Упорно лезет ошибка ORA-29283: invalid file operation. На ОС ставили права 777. Не знаю, куда дальше копать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:52 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
Сделайте test case, он поможет вам и советующим. [root@localhost init.d]# mkdir /tmp/test [root@localhost init.d]# chmod 777 /tmp/test Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40.
[root@localhost init.d]# ls -lh /tmp/test total 0 -rw-r-----. 1 oracle oinstall 0 Jan 29 06:55 test1.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 14:59 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
Кто знает, как посмотреть трассировку вызова open на unix, типа strace. Но он у меня не работает Код: plsql 1. 2.
Каким еще способ отслеить, что передается на вызов при UTL_FILE.fopen? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:06 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
dmdmdm, делали такие тесты, файлы создаются ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:11 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
В этом и суть test case. Не одним словом "делали", а конкретно, что делали. Раз в ОС не работает, надо, чтоб заработало. Потом будете в СУБД пробовать. Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9.
Копать куда-то туда. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 15:37 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5dmdmdm, делали такие тесты, файлы создаются А под каким OC пользователем? UTL_FILE выполняется из-под OC юзера oracle и посему 777 на конечную директорию может и не хватить - oracle нужен read на всю цепочку. Ну и не NAS ли часом? Если да, то он должен быть mounted с определенными параметрами. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 16:02 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
SY, под oracle на клиенте. Права выдавались, как chmod -R, так что на все подкаталоги. тест Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 17:03 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5под oracle на клиенте. utl_file Вы тоже НА КЛИЕНТЕ гоняете или все-таки на сервере? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 17:08 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5, И диск не NAS? SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 17:09 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous, на клиенте SY, не NAS dmdmdm, написал про монтирование. Не поняла этот момент. Что нужно монтировать? Директории с клиента на сервер? Ещё думаю, что может на сервере процессы, листенер не под oracle запущены... мало ли, проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 18:09 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5на клиенте utl_file - серверный пакет и работает на файловой системе, где установлена субд(Если не формсы, конечно) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 20:49 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5, И проверьте еще что у директории в оракле есть права на запись ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 08:37 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
oragraf, Так вот и вопрос, то есть физически директории должны быть созданы на том же сервере, где и БД развёрнута? Или на сервер с БД можно монтировать директории с клиентского сервера? Я этот момент не понимаю. Сам скрипт запускается через Sqlplus. MirnyiAtom права есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 10:25 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5Или на сервер с БД можно монтировать директории с клиентского сервера? Технически это, конечно, возможно, но по сути полная ерунда. Вам нужен файл на клиенте? Так и формируйте его на клиенте и оставьте UTL_FILE в покое. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 11:17 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous, нужен на клиенте. Ткните подробнее, как без UTL_FILE, записать файлы? Файлы - это результат работы разных процедур. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 11:53 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5как без UTL_FILE, записать файлыecho 123 > 123.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:02 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
Для теста запускаю скрипт через sqlplus. В реальной работе всё запускается через Web и дергает процедуры PL/SQL. код Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:08 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
-2-, мне из PL/SQL запускать shell команды? Это ещё хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:10 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5Для теста запускаю скрипт через sqlplus. В реальной работе всё запускается через Web и дергает процедуры PL/SQL. Представленный код смело выбрасывайте полностью - выбранный Вами инструмент не походит для решения задачи в указанном окружении. Попробуйте сформулировать исходную задачу, а не ту, которую Вы вынесли на форум. Вам помогут с подбором инструмента. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:15 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5из PL/SQL запускать shell команды?из шелла ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:15 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
-2-, это не разово работает, чтобы echo использовать, а на постоянной основе. Работает логика PL/SQL, записывает файлы, логи. Раньше с переменной utl_file_dir работала, теперь с директориями напрямую. У меня-то клиент-сервер - это одна машина, и всё работает. И это скрипт тоже работает. То, что физически нельзя записывать файлы на клиенте не слышала. Столкнулись с такой проблемой, вот и спрашиваю. Это в этом проблема, или всё-таки в другом где-то копать, в запущенных листенерах, или в правильности имени директорий и т.д. ? Скрипт, выложенный мной выше, работает на моей машине. Не работает на другой, где клиент и сервер разнесены. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:15 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous, Хорошо. С Web дергается PL/SQL процедура, которая дергает ещё множества всего, выполняет свою работу. Записывает данные в БД, работает с ними. В процессе работы формируются 1) файлы - аналог лог-файлов для разбора ошибок, 2) файлы с необходимыми клиенту данными. Клиенту по сути не нужно вообще лезть в БД и самому получать данными и тем более лезть в логику. Ему нужны по сути только конечные файлы с информацией. И возможно логи, в случае разбора ошибок. Хотя логи больше нужны разработчику. Вот и всё. Записывать в БД конечные данные - не вариант. Ранее работали с переменной utl_file_dir. Проблем не испытывали. Но я никогда не уточняла, как разнесены сервер и клиент. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:23 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5andrey_anonymous, нужен на клиенте. Ткните подробнее, как без UTL_FILE, записать файлы? Файлы - это результат работы разных процедур. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:26 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5Работает логика PL/SQL, записывает файлы, логи. Раньше с переменной utl_file_dir работала, теперь с директориями напрямую. Отдайте клиенту посредством Код: plsql 1.
LVV5 У меня-то клиент-сервер - это одна машина, и всё работает. Что Вам по этому поводу сказали архитектор и тимлид? Разработчик всегда должен иметь ввиду не только буквы PL/SQL, но и архитектуру решения. 1. Клиент-сервер ВСЕГДА предполагает, что сервер и клиент - физически различные системы . 2. Клиент-сервер ВСЕГДА предполагает, что к одному серверу могут подключиться несколько клиентов одновременно . Помните об этом. Все время. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:29 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5То, что физически нельзя записывать файлы на клиенте не слышала."физически" можно по разному трактовать. Программно можно. Редирект шелла > или команда sqlплюса spool пример записи в файл на клиенте.LVV5файлыВебсервер все равно на запрос вебклиента не умеет отдавать файлЫ. Как получать из бд данные и как их хранить для передачи вебклиенту, вопрос не по ораклу, а по используемому вебсерверу. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:33 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
LVV5Ему нужны по сути только конечные файлы с информацией. Неверно. Клиенту нужна информация. Файл - лишь способ ее "материализации". Web-приложение для БД суть обычный клиент, и нет никакой необходимости строить файловый велосипед просто для передачи данных web-приложению, оно отлично выполнит запрос и получит свой набор данных, который упакует в html и отправит клиенту - без всяких промежуточных файлов. Логи - немного иной объект, по сути побочный. И да, их иногда складывают в файлы. Если логи нужны разработчику, то разработчик просто заходит на расшаренный ресурс с логами и читает нужный файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:35 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
-2-Вебсервер все равно на запрос вебклиента не умеет отдавать файлЫ. Ээээ... именно это он и умеет от рождения. Динамический контент - это уже позже, сначала был CGI, затем... Впрочем, к случаю ТС это имеет весьма опосредованное отношение. 2ТС: еще одно решение - смонтироовать на сервер приложений расшаренный каталог сервера БД, содержащий файлы. Решение чуть лучше идеи монтировать ФС клиента на сервер БД, но тоже плохое - к примеру, создает ненужные риски по безопасности. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:39 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous, идеи поняла, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 12:45 |
|
UTL_FILE вопрос
|
|||
---|---|---|---|
#18+
andrey_anonymous-2-Вебсервер все равно на запрос вебклиента не умеет отдавать файлЫ .Ээээ... именно это он и умеет от рождения. Речь о том, что нельзя в одном ответе вернуть несколько файлов. Требуется промежуточное хранилище для их представления вебсервером по отдельности или для заворачивания в конверт. Варианты реализации сильно разнятся в зависимости от применяемых технологий и требований к интерфейсу пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2019, 13:16 |
|
|
start [/forum/topic.php?all=1&fid=52&tid=1882861]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 177ms |
0 / 0 |