powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реинжениринг хранимых процедур
9 сообщений из 9, страница 1 из 1
Реинжениринг хранимых процедур
    #32967524
sbobrikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотелось бы узнать,

1. А может PD выполнять реинжиниринг хранимых процедур, функций, пакетов, триггеров для ORACLE и MSSQL?
2. Может ли он потом сравнивать то что содержиться в модели с тем что правилось в базе.
3. Возможность генерации сводного скрипта с добавлением пользовательских команд перед и после создания каждой процедуры?
4. Если какие-нибудь ограничения в модели. (Например размер процедуры(пакета) не больше 64 К.)

Спасибо.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32967571
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sbobrikovХотелось бы узнать,

1. А может PD выполнять реинжиниринг хранимых процедур, функций, пакетов, триггеров для ORACLE и MSSQL?
2. Может ли он потом сравнивать то что содержиться в модели с тем что правилось в базе.
3. Возможность генерации сводного скрипта с добавлением пользовательских команд перед и после создания каждой процедуры?
4. Если какие-нибудь ограничения в модели. (Например размер процедуры(пакета) не больше 64 К.)

Спасибо.

1. Может
2. Может после реверса
3. Может, также может сгенерить скрипт которые внесет изменения на основании отличий схем данных в разных моделях.
4. Не знаю таких.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32967709
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sbobrikovХотелось бы узнать,
4. Если какие-нибудь ограничения в модели. (Например размер процедуры(пакета) не больше 64 К.)

Спасибо.

В принципе есть ограничения на длину различных наименований (индексов, процедур и т.п) но их можно править.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32967933
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sbobrikovХотелось бы узнать,

1. А может PD выполнять реинжиниринг хранимых процедур, функций, пакетов, триггеров для ORACLE и MSSQL?

Может, но результат реинжиниринга оракловых пакетов может, хм, ввести в недоумение. PD ИМХО переборщил в плане разбора пакета на составляющие, он его пытается представить в виде отдельных процедур, курсоров и т.д. В результате:

- выкидываются напрочь комментарии;
- возникают проблемы в случае существования перегруженных процедур, т.е. процедур с одинаковым именем.

Если после реинжиниринга ты попытаешься заново сгенерить текст пакета, то можешь получить результат далекий от оригинала. С оракловыми триггерами и процедурами вроде все в порядке, разве что мне, к примеру, пришлось соблюдать определенные правила в написании кода этих объектов, типа всегда имя объекта указывать в верхнем регистре, т.е. не

Код: plaintext
create or replace my_procedure

а

Код: plaintext
create or replace MY_PROCEDURE

иначе при сравнении всегда идет разница. Еще - трудновато понять, а в чем имено отличаются текст объекта в базе и в модели: окно сравнения для этого мало и нет продвинутого способа просмотреть разницу построчно.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32968802
sbobrikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to All:

Большое спасибо за ответы. Похоже надежда есть :)


to Denis Popov:

И по нормальному с пакетами работать вообще не получается?
т.е. про комменты можно забыть :(

А у Вас какая версия PD? Сейчас смотрю на 7(уж что быстро нашлось :))
и пакеты она пока не рассматривает.


И еще вопрос:

Что то не могу найти место настройки шаблона генерации
общего скрипта хранимых процедур.

Мы скрипты прогоняем через нашу Консоль,
и надо что бы результирующий скрипт генерился в формате:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
drop procedure XXX;

PL/SQL
\
CREATE OR REPLACE XXX
...
;
/

GRANT EXECUTE ON XXX TO YYY;


drop procedure ZZZ;

PL/SQL
\
CREATE OR REPLACE ZZZ
...
;
/

GRANT EXECUTE ON ZZZ TO YYY;
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32968833
Genady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с ораклом не работал, поэтому посоветовать что либо не могу.

Работал с MS SQL и с Postgre, могу сказать что всякие глючки есть практически для каждой СУБД, причем для каждой свои собственные.
Однако многие из них убираются настройкой DBMS, в меню PD database->Edit current DBMS.

Я работал с PD 9.5
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32968906
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sbobrikov
И по нормальному с пакетами работать вообще не получается? т.е. про комменты можно забыть :(


Я забыл про хранение их в модели... Несколько там их есть, но по необходимости - для синонимов. А так меняю прямо в базе разработки; дополнительно написана скриптовыгружалка серверного кода (в том числе и процедур, пакетов, всего хранимого кода), в файлы, которые кладутся с CVS.

sbobrikov
А у Вас какая версия PD? Сейчас смотрю на 7(уж что быстро нашлось :))
и пакеты она пока не рассматривает.


Оракловые пакеты начались с 9.5, сейчас на дворе - PowerDesigner 11.0, но в принципе для работы с PDM (Physical Data Model) можно взять любую 9.5 - 11.0. Разница PDM ИМХО незначительная, разве что в последних версиях стало возможно отфильтровывать из списка различий физический порядок полей таблиц.


sbobrikov
Что то не могу найти место настройки шаблона генерации общего скрипта хранимых процедур.


Мы скрипты прогоняем через нашу Консоль, и надо что бы результирующий скрипт генерился в формате:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
drop procedure XXX;

PL/SQL
\
CREATE OR REPLACE XXX
...
;
/

Тебе это самое "PL/SQL" надо получить? В вышеупомянутых версиях PD можно либо на каждом объекте в свойствах на закладке Script указать все, что надо (в Begin или End), либо же для всех сразу меню Database->Edit Current DBMS, далее по путям:
Код: plaintext
1.
2.
Script\Objects\Procedure\CustomProc
Script\Objects\Procedure\CustomFunc
делаешь все, что требуется.

Возвращаясь к особенностям работв PD с хранимым кодом - ИМХО можно подумать об выгрузке скриптов на создание объектов прямо из базы, а там уж форматируй их как хочешь.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32969324
sbobrikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня в 7-ке нет закладки Scrits для процедуры.
(Такой уж он старый, но уж что нашлось в закромах.
Надеюсь в выходные найду свеженький :) )

Но это наверное не сильно спасет, так как придется для каждой
процедуры вручную прописывать.
Или я ошибаюсь, и их (Scripts\Begin;Scripts\End) можно установить для всех сразу?


Редактирование CustomProc, я уже пробовал.
Он все (PL/SQL) добавляет в основной текст процедуры, а тогда сравнение слетает :(
Да и при реинжениренге это все не добавляется. Может на новой версии все будет лучше :).
У меня сейчас все в ErWin сделано, и просто достало в начало и в конец каждой
процедуры вручную дописывать макрокоманды после каждого реинжениринга процедуры.
Да и с реинженирингом у него проблемы.
Именно от этого и хочу уйти.


Я просто пытаюсь найти оптимальное решение как организовать сбор, хранение и отслеживание хранимых
процедур(функций, триггеров и пакетов), а также генерацию сводного скрипта.

Еще один из вариантов как я понял складировать все в репозитории, например CVS,
силами программистов которые разрабатывают.
На каждый объект(хп, пакет, функции) - 1 файл.
Но тогда не отслеживания, ни контроля :(

Может кто-нибудь поделится опытом, как у Вас организована сдача, хранение и обработка хп и др. объектов

Спасибо.
...
Рейтинг: 0 / 0
Реинжениринг хранимых процедур
    #32969383
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мое мнение: при переходе с ERwin на PowerDesigner ты получишь гораздо бОльший охват всех фич конкретной СУБД плюс открытый API модели с доступом к ней через VBScript, но оперативное сравнивание модели и БД будет проходить тяжелее - такой вещи как Complete Compare нет, сравнение БД и модели требует совершения несколько бОльшего количества телодвижений.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реинжениринг хранимых процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]