|
|
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
Всем привет. Есть процедура, которая загружает данные из файловой системы в БД с помощью sql loader (примерно 2-3 тысячи файлов). После загрузки другая процедура читает лог и в зависимости от того, что там проводит определенные действия. Внутри этой процедуры вызывается проверка того, что из файла можно считать строку. Иногда при загрузке поднимается пользовательская ошибка "При проверке лога произошла ошибка. Превышено время ожидания ненулевого содержимого в файле". Повторная загрузка этого файла происходит без ошибок Почему такое может быть? Как думаете, лучше увеличить количество попыток открытия файла и чтения из него строки или это скорее всего не поможет? ЗЫ Внешние таблицы просьба не рассматривать, как решение)) Код: 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. 48. 49. 50. 51. 52. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 12:00 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniskaПочему такое может быть? файл не закрыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:11 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
123ййmenja_zovut_deniskaПочему такое может быть? файл не закрыт имеется в виду сам обрабатываемый файл или лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 13:25 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
Имеется ввиду, что не при всех ошибках вызывается Utl_File.Fclose(v_Handle) А в пакете UTL_FILE, насколько помню, неявное ограничение на 50 открытых хэндлов Да и странно как-то -- существование проверяется через DBMS_LOB, а содержимое через UTL_FILE. Это чтоб потенциального агрессора запутать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 14:12 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
menja_zovut_deniskaимеется в виду сам обрабатываемый файл тот кто пишет в файл еще не закончил начатое. название файла уже есть в каталоге а вот его размера еще нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 14:19 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровИмеется ввиду, что не при всех ошибках вызывается Utl_File.Fclose(v_Handle) А в пакете UTL_FILE, насколько помню, неявное ограничение на 50 открытых хэндлов Вижу, спасибо, но тут это не критично...было во всяком случае Вячеслав ЛюбомудровДа и странно как-то -- существование проверяется через DBMS_LOB, а содержимое через UTL_FILE. Это чтоб потенциального агрессора запутать? Типа того) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 14:52 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
123ййmenja_zovut_deniskaимеется в виду сам обрабатываемый файл тот кто пишет в файл еще не закончил начатое. название файла уже есть в каталоге а вот его размера еще нет Т.е. sqlloader. Видимо надо пробовать увеличить количество попыток считать строку... Вообще запуск sqlloader вызывается запуском батника через dbms_scheduler. Может быть есть еще какие-то варианты отследить момент из процедуры, когда лоадер завершит работу и точно можно будет прочитать лог? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 15:04 |
|
||
|
Ошибка при использовании пакета utl_file и sqlloader
|
|||
|---|---|---|---|
|
#18+
Может лучше использовать внешние таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2018, 15:06 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=127&tid=1884495]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
17ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 308ms |

| 0 / 0 |
