|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Всем привет. Подскажите как бы вы положили перечисленные ниже данные представленные в виде текстового файла в базу данных (oracle, таблица create table mayasscheme.test_ ( key1 number, Key2 number, Level_ VARCHAR2(30 CHAR), Node_Name VARCHAR2(30 CHAR), Open_Date Date, Last_Active Date, Closed_Date Date ); ): Код: plaintext 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.
Немного почитала про парсеры, класс scanner, регулярные выражения, но хотелось бы услышать мнение профессионалов (если можно с примерами =)) ) как бы вы делали такой парсинг и укладку в базу. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 15:26 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Укладка лога в базу это очень странная постановка. Обычно так не делают. Если события проходят через механизм lo4j или logback то там уже есть аппендеры которые могут писать эти события в БД. И даже если нет то нужно фиксировать эти события в БД сразу. В вашем случае парсер не нужен. Парсеры это тяжёлая артиллерия которую нацеливают на исходники ЯП и прочее. Если задачу можно решить поиском подстрок в строке - то обычно так и делают. В вашем случае если тектовый файл имеет интерфейс чтения строк .readLine то можно искать вхождение подстроки [DET ] Key и от нее считать поля по порядку номеров. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 15:41 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
May12, формат фиксированный, поэтому в цикле считать строки и символы в переменные Потом записать в БД через JDBC аналог fscanf в Java http://zavelos.ru/forum/60059-analog-fscanf-v-Java Но аффтару нужен готовый пример ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 15:52 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Petro123, не я могу и попробовать с нуля. правда придется поковыряться. С примером было бы легче, ну т.е. халявней. =) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 16:07 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
May12, полпримера Код: java 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 16:13 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Petro123, спасибо. Это, как я поняла, укладка в базу. Мне же не совсем понятен механизм присвоение значений переменным. Вот я пока то, что нарисовала: Код: java 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 17:00 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
у меня прогрессирует, правда не понятно что = ). В общем вложила еще один цикл: Код: java 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.
Результат: Код: plaintext 1. 2. 3. 4. 5. 6.
Т.е. получилось вывести парами. Что думаете? Это вариант или полная глупость? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 19:17 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
И еще один опус на сон грядущий: Код: java 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.
Было желание... отправлять в отдельный метод подстроку FindSubstr, чтобы он возвращал строки (ну а потом и значения) в которых содержаться подстроки. Но обломилось, т.к. не получилось вернуть значение из тела цикла. Грубо говоря, запись типа: Код: java 1. 2. 3. 4. 5.
не возможна. Need help. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 20:06 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Petro123May12, формат фиксированный, поэтому в цикле считать строки и символы в переменные Потом записать в БД через JDBC аналог fscanf в Java http://zavelos.ru/forum/60059-analog-fscanf-v-Java Но аффтару нужен готовый пример ))) На больших логах время работы парсера может сильно удивить. В цикле анализируем файл и создаем csv(допустим) для вставки в базу. Так будет , скорее всего, быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2012, 16:42 |
|
Парсинг (?) текстового лога и укладка в базу Oracle
|
|||
---|---|---|---|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2019, 10:01 |
|
|
start [/forum/topic.php?fid=59&fpage=19&tid=2120972]: |
0ms |
get settings: |
24ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
224ms |
get tp. blocked users: |
2ms |
others: | 37ms |
total: | 389ms |
0 / 0 |