Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
 Есть ли возможность портирования приложений написанных для Oracle на DB2?  [new]
miner
Member

Откуда: Moscow
Сообщений: 206
Возникла задача определения принципиальной возможности автоматического (автоматизированного) портирования приложений написанных для Oracle на DB2.
Портировать без сомнения хочется автоматически (несколько тысяч запросов, среди которых есть экземпляры в 2000 строк)
Совершенно не знаком с DB2, в связи с чем хотелось бы спросить насколько
совместим sql в обоих продуктах?

Например:

1)
Поддерживает ли DB2 иерархические запросы?
в oracle:
select ...
from TABLE_NAME t
start with t.id_main is null
connect by t.id_main = prior t.id_subbordinate and t.d_start <= SYSDATE

2)
Поддерживает ли DB2 аналитические функции?
в oracle:
select ...
       , max(tl.d_start) OVER (PARTITION BY tl.id_e, tl.id_division) AS max_d_start
       , LEAD(tl.d_start, 1) OVER (PARTITION BY tl.id_division ORDER BY t1.d_start) AS d_end
       , count(distinct tl.id_e) OVER (PARTITION BY tl.id_division) AS cnt_emp_in_division
       , DENSE_RANK() OVER (PARTITION BY NVL(usls.id_d, lsQ.id_d)
                                         , NVL(usls.id_source, lsQ.id_source)
                                         , NVL(usls.idg_post, lsQ.idg_post)
                                         , s.id_staff
                            ORDER BY abs(lsQ.payment_category-s.category_ets) ASC, lsQ.payment_category DESC) rank_in_group

from ...

3)
Поддерживает ли DB2 оракловое соединение таблиц?
в oracle:
select ...     
from table1 t1,
     table2 t2,   
     table3 t3
where t1.id = t2.id
      and t2.id = t3.id (+)

4)
Сильно ли отличается в DB2 набор встроенных функций?
в oracle:
SYSDATE
MONTHS_BETWEEN
ADD_MONTHS
TO_CHAR
TO_NUMBER
TO_DATE
и т.д.

5)
Есть ли в DB2 язык аналогичный PL/SQL?
в oracle например можно вернуть набор данных из функции:
select s.* 
from table s
where s.id_metaterm in (select r.id_metaterm from table(access_pk.Get_MT_CurrentUser('270,271', 0)) r )

6)
Есть ли для DB2 средство разработки столь же удобное как и PL/SQL Developer?

и т.д.
16 фев 08, 11:26    [5298895]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность портирования приложений написанных для Oracle на DB2?  [new]
pavelvp
Member

Откуда:
Сообщений: 673
Возможность конечно есть. Есть опыт портирования больших систем с Oracle на DB2. Можем помочь незадорого :-) Если есть интерес - пиши в мыло.
18 фев 08, 13:59    [5304022]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность портирования приложений написанных для Oracle на DB2?  [new]
Apex
Member

Откуда: Made in USSR
Сообщений: 3910
pavelvp
Возможность конечно есть. Есть опыт портирования больших систем с Oracle на DB2. Можем помочь незадорого :-) Если есть интерес - пиши в мыло.

Что, прямо таки автомагичеки портируете?:) Шаманы, однако :Р

miner
СУБД'ы имеют принципиально разный подход к обеспечению согласованности по чтению, следовательно все будет зависить от того насколько глубоко данное приложение завязано на эти особенности, и разница в синтаксисе\наборе функций тут как раз далеко не самая главная проблема.
1) DB2 поддерживает настоящие рекурсивный запросы, с их помощью строятся иерархии. Хотя где-то слышал, что как раз для облегчения переезда с Оракла добавили поддержку Ораловых connect by.
2) Да поддерживает, много и разных.
3) Нет(?) вроде тока ANSI.
4) Довольно сильно.
5) Аналог есть, по возможностям показался гораздо слабее PL/SQL'я.
6) Есть TOAD для DB2.
18 фев 08, 15:04    [5304716]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность портирования приложений написанных для Oracle на DB2?  [new]
pavelvp
Member

Откуда:
Сообщений: 673
Apex
Что, прямо таки автомагичеки портируете?:)

Нет, за деньги.
18 фев 08, 17:35    [5306293]     Ответить | Цитировать Сообщить модератору
Все форумы / Сравнение СУБД Ответить