|
|
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Проблема философская Есть пакет в БД. Можно получить список функций/процедур из пакета и входные и выходные параметры - с этим проблем не возникло. Хочется получить содержимое тела функции/процедуры, находящейся в пакете. Особо идеально было бы одним оператором select. Как альтернатива - может есть какое нибудь инструментальное средство, позволяющее сделать сию операцию? С Oracle Designer такая штука не проходит в том виде как мне требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 12:54 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:02 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Q Код: plaintext 1. 2. 3. 4. 5. И что я увижу? Пакет меня слабо интересует. Я ж текст функции FF из пакета PP желаю увидеть, а не весь пакет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:05 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:22 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Код: plaintext 1. 2. 3. 4. нет такого типа 'PACKAGE_BODY' И что я увижу? Пакет меня слабо интересует. Я ж текст функции FF из пакета PP желаю увидеть, а не весь пакет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:26 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voytнет такого типа 'PACKAGE_BODY' И что я увижу? Пакет меня слабо интересует. Я ж текст функции FF из пакета PP желаю увидеть, а не весь пакетЗато есть "PACKAGE BODY". Его и увидите. А потом берёте текст тела пакета и парсите как вам заблагорассудится - вдоль и поперёк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:29 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
VoytЯ ж текст функции FF из пакета PP желаю увидеть, а не весь пакет Я б искал так Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:34 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Павел Воронцов Voytнет такого типа 'PACKAGE_BODY' И что я увижу? Пакет меня слабо интересует. Я ж текст функции FF из пакета PP желаю увидеть, а не весь пакетЗато есть "PACKAGE BODY". Его и увидите. А потом берёте текст тела пакета и парсите как вам заблагорассудится - вдоль и поперёк. Собственно суть вопроса и состоит в том как его распарсить вдоль и поперек Условно говоря хотелось бы иметь select подобного вида select text from "чего-то" where owner='овнер' and package_name='имя пакета' and module_type='FUNCTION' and module_name='имя функции в ентом пакете'; Сильно нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:35 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voyt нет такого типа 'PACKAGE_BODY' Чуток ошибся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:36 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Я б искал так Код: plaintext 1. 2. 3. 4. Только моих разработчиков сложно заставить писать имя процедуры в одной строке со словом "PROCEDURE" - их вообще невозможно заставить что либо делать по какому то правилу. Сия задача возникла из-за того, что группа не вмеру активных и творчески одухотворенных разрабочиков генерируют новые пакеты и изменяют старые со скоростью секретаря-референта. Причем документировать работу считают занятием постыдным и недостойным. В результате бедные тестеры приходя утром на работу начинают перетестировать систему заново. Как результат - все что работало вчера к 6 вечера - сегдоня к 9 утра работает не так или совсем не работает. Вот и возникло желание помочь людям хоть как то Отзовитесь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 13:51 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voyt Только моих разработчиков сложно заставить писать имя процедуры в одной строке со словом "PROCEDURE" - их вообще невозможно заставить что либо делать по какому то правилу. Причем документировать работу считают занятием постыдным и недостойным. Ого #$% А заставить писать имя процедуры после end'a реально ? Тогда можно будет выбрать номер строки с первым и следующим совпадением в тексте имени процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:19 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voytup А что хочется получить?.. отпарсить и что вытащить?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:21 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
HX Voytup А что хочется получить?.. отпарсить и что вытащить?.. В двух словах - из пакета текст функции, зная имя владельца пакета, имя пакета и имя функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:25 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
А что предполагается делать дальше с текстом ф-ии?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:28 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
val-demar Ого #$% А заставить писать имя процедуры после end'a реально ? Тогда можно будет выбрать номер строки с первым и следующим совпадением в тексте имени процедуры. Вот и "ого" Нет, не реально заставить вообще, посему приходится выкручиваться "as is". Устроит вариант любой - временные характеристики для парсинга не важны - пусть хоть час выковыриывает Хотя за час может многое в системе измениться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:29 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
VoytЕсть пакет в БД. Можно получить список функций/процедур из пакета и входные и выходные параметры - с этим проблем не возникло. А как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:35 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
HXА что предполагается делать дальше с текстом ф-ии?.. Предполагается сравнить ее текст с ранее имеющимся и увидеть какие функции в пакете были модифицированы и как это отразится на функциях системы. В идеале - на графической модели. Чтоб тестер пришел утром и не мучал всю систему хаотично - а тестил только функции, потенциально опасные для общества ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:37 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Voyt HXА что предполагается делать дальше с текстом ф-ии?.. Предполагается сравнить ее текст с ранее имеющимся и увидеть какие функции в пакете были модифицированы и как это отразится на функциях системы. В идеале - на графической модели. Чтоб тестер пришел утром и не мучал всю систему хаотично - а тестил только функции, потенциально опасные для общества А дерево зависимостей этой задаче не поможет?.. user_dependencies?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:39 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
cheshire_cat VoytЕсть пакет в БД. Можно получить список функций/процедур из пакета и входные и выходные параметры - с этим проблем не возникло. А как это сделать? Код: 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:41 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Мильпардон представление v$99010 состоит из столбца username, в котором сидят имена пользователей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:42 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Спасибо! Очень выручили ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:46 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Если 9i, то есть еще пакет dbms_metadata, может покопаться с ним, типа Код: plaintext 1. 2. 3. PS Но, конечно, не в графическом виде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:47 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Изобретаем велосипед?))))))))) Очертания уже похожи, только вот колеса пока треугольные))) Объясните тупому - ПОЧЕМУ?!!! НУ ПОЧЕМУ?! Вы не хотите стандартные средства использовать? Ну не пользуетесь вы VCS'ами, ну хотя бы взять навигатор или тоад или другую софтину различную и сделать compare . . . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:47 |
|
||
|
Как "распарсить" пакет?
|
|||
|---|---|---|---|
|
#18+
Для парсинга обычно используют регулярные выражения. В 9ке OWA_PATTERN или можно Java classов подгрузить. Имхо без них никак :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32953593&tid=1887199]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
218ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 535ms |

| 0 / 0 |
