пятница, 29 октября 2010 г.

Дуплицируем папку ODI или весь проект.

Что происходит при дуплицировании единичных объектов ODI примерно ясно. Создается копия того интерфейса или процедуры или пакета, к которому применена команда Duplicate.

А что произойдет, если сделать дубликат папки ODI или даже всего проекта? В зависимости от количества объектов в папке или в проекте это может занять разное время (иногда достаточно большое).


Дуплицируем папку ODI.

После, примерно, двухминутного ожидания, получаем копию всех пакетов, с теми же наименованиями, всех интерфейсов, так же с оригинальными наименованиями и копию всех процедур.


Единственное, что изменится это наименование сценариев. К ним добавится строчка "Copy of " перед именем сценария. В версиях ODI меньших чем 10.1.3.6, если мне не изменяет память, длина имени сценария была ограничена. Сейчас этого, похоже, уже нет:


Пакеты, которые сдуплицировались, содержат в себе вызовы уже дуплицированных процедур и интерфейсов:


Дуплицирование папки, пусть даже и с одним пакетом внутри, отличается от дуплицирования отдельного пакета. При создании дубликата пакета, результат содержит в себе вызовы (т.е. ссылается) на те же интерфейсы и процедуры, что и оригинальный пакет:


Дуплицируем проект ODI.


Дуплицирование проекта, так же, как и папки, прошло успешно. Для удобства отображения копию проекта W_Project1 я переименовал в W_Project2.

Какие хотелось бы отметить особенности:
  1. После дуплицирования сценарии по-прежнему с приставкой "Copy of " перед именем. Так происходит по той причине, что все сценарии в одном репозитории ODI должны иметь уникальные имена.
  2. Пакеты проекта W_Project2 ссылаются на копии не только процедур и интерфейсов, но и на копии переменных.

  3. Скопировались также и модули знаний. Соответственно, дуплицированные интерфейсы используют дуплицированные модули знаний.

  4. После дуплицирования, возможно, потребуется не только изменить наименование проекта, но и его код. Именно код проекта используется для переменных.


    Если запустить обновление переменной VariableN проекта W_Project2, то мы увидим вот такой результат выполнения этой команды в Операторе:


Комментариев нет:

Отправить комментарий