
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
30.06.2016, 17:55:53
|
|||
|---|---|---|---|
|
|||
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
Привет. Если файл с данными, которые необходимо загрузить в табличку. Но необходимо отбросить файл, если хотя бы одно поле в любой строке null. Я предполагал, что этому поспособствуют два параметра: 1. Установка Reject Limit в 0. 2. Не установка MISSING FIELD VALUES ARE NULL, т.к. в доке написано "If MISSING FIELD VALUES ARE NULL is not specified, and there is not enough data in the record for all fields, then the row is rejected." Записи в файле состоят из 3-х полей с разделителем ';'. При установке среднего значения в null все записи, включая с null, замечательно выбираются. Пример(Первая запись некорректная. Вторая корректная) 663480561;;40 661079585;28/03/2016;40 Скрипт создания Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.07.2016, 04:02:35
|
|||
|---|---|---|---|
|
|||
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
menja_zovut_deniska Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2016, 15:21:52
|
|||
|---|---|---|---|
|
|||
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
Вячеслав Любомудров, ora-30657 Операция не поддерживается во внешних таблицах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.07.2016, 18:04:19
|
|||
|---|---|---|---|
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
menja_zovut_deniska2. Не установка MISSING FIELD VALUES ARE NULL, т.к. в доке написано "If MISSING FIELD VALUES ARE NULL is not specified, and there is not enough data in the record for all fields, then the row is rejected." Не совсем. При загрузке с разделителями количество значений в строке считается по разделителям, причём у последнего значения разделитель может быть опущен, если оно не пустое. Поэтому пройдёт даже строка ";;;". Можно написать скрипт для предварительной обработки, который будет заменять в строках ";;" на ";", а после убирать ";" в начале строки. RTFM PREPROCESSOR . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2016, 12:29:15
|
|||
|---|---|---|---|
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
menja_zovut_deniskaПривет. Если файл с данными, которые необходимо загрузить в табличку. Но необходимо отбросить файл, если хотя бы одно поле в любой строке null. В табличке-приёмнике на всех полях поставьте NOT NULL. Если это сделать нельзя, грузите данные из текстового файла сначала в промежуточную таблицу (в кажом поле NOT NULL), а потом из ней в таблицу-приёмник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2016, 16:21:11
|
|||
|---|---|---|---|
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
AlionaЕсли это сделать нельзя, грузите данные из текстового файла сначала в промежуточную таблицу (в кажом поле NOT NULL), а потом из ней в таблицу-приёмник. NOT NULL, как уже говорилось, с external table не пляшет. Reject не получится, а вот discard можно: Код: 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. DATA.txt: Код: plsql 1. 2. Код: plsql 1. 2. 3. 4. 5. 6. 7. В лoге: Код: plsql 1. В discard файле: Код: plsql 1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.07.2016, 16:46:58
|
|||
|---|---|---|---|
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
Упустил "необходимо отбросить файл, если хотя бы одно поле в любой строке null". Тогда eще проще: Код: 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. Удаляем "плохую" зaпись из DATA.txt: Код: 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. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.07.2016, 13:43:13
|
|||
|---|---|---|---|
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
SYAlionaЕсли это сделать нельзя, грузите данные из текстового файла сначала в промежуточную таблицу (в кажом поле NOT NULL), а потом из ней в таблицу-приёмник. NOT NULL, как уже говорилось, с external table не пляшет. SY. Я не про вyеншние таблицы писала, а про обычные. таблица- приёмник обычная оракловая таблица. :) Если из текстового файла надо выкинуть строки с пустыми полями, грузите данные из этой внешней таблицы в обычную таблицу с NOT NULL, строки с пустыми полями не загрузятся, преобразуйте данные в этой таблицы, как хотите, а потом данные выгружайте опять в текстовый файл. это просто задача на сообразительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.07.2016, 14:11:06
|
|||
|---|---|---|---|
|
|||
Вопрос по работе с внешними таблицами в Oracle |
|||
|
#18+
AlionaSYпропущено... NOT NULL, как уже говорилось, с external table не пляшет. SY. Я не про вyеншние таблицы писала, а про обычные. таблица- приёмник обычная оракловая таблица. :) Если из текстового файла надо выкинуть строки с пустыми полями, грузите данные из этой внешней таблицы в обычную таблицу с NOT NULL, строки с пустыми полями не загрузятся, преобразуйте данные в этой таблицы, как хотите, а потом данные выгружайте опять в текстовый файл . это просто задача на сообразительность.Индусы бы оценили сообразительность и подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1887933]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 544ms |

| 0 / 0 |
