|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Добрый день пытаюсь грузить файл с помощью sql*loader используя bat и ctl файлов в ctl файле указываю: OPTIONS(skip=1) LOAD DATA CHARACTERSET 'RU8PC866' INFILE '<имя файла>' APPEND INTO TABLE <код таблицы> fields terminated by '~' TRAILING NULLCOLS в bat файле set nls_lang=american_america.al32utf8 sqlldr <подключение к БД> control=acu.ctl DIRECT=TRUE errors=100000 при этом в логе ругается SQL*Loader-350: Syntax error at line 7. Illegal combination of non-alphanumeric characters fields terminated by '~' TRAILING NULLCOLS т.е ругается именно на разделитель ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 11:24 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков, Попробуйте использовать hex код Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 11:41 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Vadim Lejnin, на ваш вариант тоже ругается, попробовал указать Код: plsql 1.
но сейчас начало ругаться на незакрытые кавычки Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 11:51 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
поменял ctl файл, сделал Код: plsql 1. 2. 3. 4. 5. 6. 7.
но теперь уже начало ругаться на содержимое файла Код: plsql 1. 2.
в тексте файла вот так Код: plsql 1.
но есть же опция OPTIONALLY ENCLOSED BY '"' почему она не срабатывает ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:24 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков APPEND INTO TABLE <код таблицы> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:29 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирковв тексте файла вот так Плохо сформированный файл, вложенные кавычки не удвоены. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:31 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
а еще вопрос как правильно дату из текста обработать? в тексте дата в формате dd.mm.yyyy в ctl поле Код: plsql 1.
вижу в логе идет преобразование в другом формате Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:51 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирковвижу в логе идет преобразование в другом формате https://www.google.com/search?q=oracle sqlloader date format ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 12:55 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
добавил в ctl формат даты Код: plsql 1.
но в файле попадаются даты в виде 00.00.0000 их как то можно обработать, чтобы не откидывало строки в bad файл ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 13:17 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Прогнать предварительно файл через sed. Заодно и некорректные кавычки поправишь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 13:31 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков, попробуйте (я не проганял) Код: plsql 1. 2. 3.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 14:06 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков д но в файле попадаются даты в виде 00.00.0000 их как то можно обработать, чтобы не откидывало строки в bad файл ? Можно. Например 00.00.0000 => 31.12.9999: Код: 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. 53. 54.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 14:15 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
с датами решил пока не заморачиватся гружу в текстовое поле но возникла еще одна проблема, надо загрузить несколько файлов из директории причем имя загружаемого файла должно вставляться в поле таблицы я нашел пример https://stackoverflow.com/questions/4552947/use-parameters-with-ctl Код: plsql 1. 2. 3. 4. 5.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
сделал аналогично, имя файла успешно передается из bat файла в ctl, но почему то при вставке в таблицу не заменяет $datfilename$ на конкретное имя файла может кто знает, как правильно сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 15:13 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков они в контоле меняют шаблон на имя файла findandreplace my_loader_temp.ctl "$datafilename$" "%1" ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 16:31 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Stax они в контоле меняют шаблон на имя файла findandreplace my_loader_temp.ctl "$datafilename$" "%1" Т.е. чукчи ("они")писатели а не читатели SQL*Loader параметры командной строки. Тупо убираем infile из ctl и указываем в командной строке: Код: 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.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 16:44 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
SY Т.е. чукчи ("они")писатели а не читатели SQL*Loader параметры командной строки. Тупо убираем infile из ctl и указываем в командной строке: я тоже чукча не знаю (вернее не помню) как через лоадер записать имя файла в поле таблицы напр tbl(f varchar2(100), dt date) надо в f записать имя файла %DATAFILE% зы yfgh посложнее LOAD DATA INFILE 'file001.DAT' INFILE 'file002.DAT' APPEND INTO TABLE "TBL" ... ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2021, 17:01 |
|
загрузка файла с разделителями в виде '~'
|
|||
---|---|---|---|
#18+
Виктор Чирков но возникла еще одна проблема, надо загрузить несколько файлов из директории причем имя загружаемого файла должно вставляться в поле таблицы 21801306 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2021, 20:28 |
|
|
start [/forum/topic.php?fid=52&msg=40087068&tid=1880003]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 309ms |
0 / 0 |