Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MQSeries + DB2 - Information Center / 15 сообщений из 15, страница 1 из 1
23.06.2008, 11:44
    #35387959
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Нужен совет бывалого.
Имеется DB2 UDB 8.2 ESE под виндой, на на этом же сервере MQ Series 5.2 сервер. Information Center отсутствует и лицензию на него покупать никто не собирается.

Нужно написать простенькое нечто, что будет в 2 стороны взаимодействовать как с базой данных так и с очередями, как для проведения распределенных транзакций, так и для репликации небольших таблиц (разово или по запросу). Писаться будет на C.

Вопрос - как лучше организовать схему работы и взаимодействия DB2 & MQ Series?

На AS/400 я бы ограничился тригерами на очередях и связанных таблицах, целостность транзакций обеспечивал юы на прикладном уровне, а винда меня смущает...
опыта программирования для MQSeries + DB2 под виндой нет.

Есть ли какие-то "подводные камни"?
...
Рейтинг: 0 / 0
23.06.2008, 11:55
    #35387994
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Serg0Нужен совет бывалого.
Имеется DB2 UDB 8.2 ESE под виндой, на на этом же сервере MQ Series 5.2 сервер. Information Center отсутствует и лицензию на него покупать никто не собирается.

Нужно написать простенькое нечто, что будет в 2 стороны взаимодействовать как с базой данных так и с очередями, как для проведения распределенных транзакций, так и для репликации небольших таблиц (разово или по запросу). Писаться будет на C.

Вопрос - как лучше организовать схему работы и взаимодействия DB2 & MQ Series?

На AS/400 я бы ограничился тригерами на очередях и связанных таблицах, целостность транзакций обеспечивал юы на прикладном уровне, а винда меня смущает...
опыта программирования для MQSeries + DB2 под виндой нет.

Есть ли какие-то "подводные камни"?

да есть. мы вот тут это с ggv обсуждали, посмотри этого должно хватить. /topic/87266&hl=mq

что касается AS/400. там единственное требование чтобы обеспечить целочтность транзакций между DB2 и MQ -- the job must be under commitment control ( check out strcmtctl / endcmtctl commands ) так что обеспечивать целостность транзакций можно не обязательно на прикладном уровне.
...
Рейтинг: 0 / 0
23.06.2008, 12:04
    #35388031
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Спасибо. Сейчас посмотрю.
насчет транзакционности - это уже мои заморочки по привычке, - приложение на аське с которым приходится работать не переносит комминтмент контроль
...
Рейтинг: 0 / 0
23.06.2008, 12:51
    #35388182
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Ну, недаром меня винда смущает - в самом вопросе перепутал и написал "Information Center" вместо " Information Integrator " :-(

2 NewYear - эту вашу дисскусию я видел, но у меня нет Information Integrator и все придется делать на внешних приложениях - либо триггер очереди работает с DB2 (через ADO, например), либо наоборот - внешняя процедура DB2 общается с MQSeries.
...
Рейтинг: 0 / 0
23.06.2008, 13:07
    #35388224
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Serg0Ну, недаром меня винда смущает - в самом вопросе перепутал и написал "Information Center" вместо " Information Integrator " :-(

2 NewYear - эту вашу дисскусию я видел, но у меня нет Information Integrator и все придется делать на внешних приложениях - либо триггер очереди работает с DB2 (через ADO, например), либо наоборот - внешняя процедура DB2 общается с MQSeries.


А вот не получится...
Через ADO в принципе сделать можно, но для этого нужно писать COM+ объект. А это далеко не удовольствие. И как его вызывать из триггера. Или из внешной процедуры.

Сделайте в два этапа. В триггире скопируйте нужную информацию в отдельную таблицу.
А программка пусть обрабатывает эту таблицу, скажем раз в 5 минут.
...
Рейтинг: 0 / 0
23.06.2008, 13:09
    #35388229
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
> но у меня нет Information Integrator

А там речь про него и не идёт.
...
Рейтинг: 0 / 0
23.06.2008, 13:53
    #35388353
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
NewYear> но у меня нет Information Integrator

А там речь про него и не идёт.

т.е. обсуждалось API MQSeries, а не DB2 Information Integrator? Спасибо! где-то так я себе это и напланировал.

>Через ADO в принципе сделать можно, но для этого нужно писать COM+ объект. А это далеко не
>удовольствие. И как его вызывать из триггера. Или из внешной процедуры.

Отчего же не получится? COM+ это перебор - триггер на очереди заполняет таблицу, триггер на таблице - обработка данных и ответ менеджеру очередей. В обратную сторону еще проще - сообщение в очередь
...
Рейтинг: 0 / 0
23.06.2008, 14:12
    #35388404
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Serg0 NewYear> но у меня нет Information Integrator

А там речь про него и не идёт.

т.е. обсуждалось API MQSeries, а не DB2 Information Integrator? Спасибо! где-то так я себе это и напланировал.

>Через ADO в принципе сделать можно, но для этого нужно писать COM+ объект. А это далеко не
>удовольствие. И как его вызывать из триггера. Или из внешной процедуры.

Отчего же не получится? COM+ это перебор - триггер на очереди заполняет таблицу, триггер на таблице - обработка данных и ответ менеджеру очередей. В обратную сторону еще проще - сообщение в очередь

нет это не перебор.
вот скажи кто в предложенных схемах является transaction coordinator, a кто resource manager.
особенно вот здесть "триггер на таблице - обработка данных и ответ менеджеру очередей."

А что будет если MQ остановить, а DB2 продолжает работать?
...
Рейтинг: 0 / 0
23.06.2008, 15:07
    #35388592
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Согласен, то что я описал - грубо и очень схематично, но по сути своей ничем не отличается от
NewYearСделайте в два этапа. В триггире скопируйте нужную информацию в отдельную таблицу.
А программка пусть обрабатывает эту таблицу, скажем раз в 5 минут.

Конечно, сам по себе триггер на таблице при выключенном MQSeries не отработает свой функционал, но вместе с системой хранения референсов обработанных записей и проверки их при каждом срабатывании + аналогичный(только по сути) механизм для очереди при ее старте... Почему нет?

Впрочем, внешний менеджер-координатор всего процесса мне в любом случае придется писать, т.к. кроме всего прочего нужно будет мониторить память третьего приложения и "плясать" от его состояния. Просто задержки и в 5 минут и в 1 минуту в ТЗ никак не предусмотрены и в моем случае не применимы.
Будут задержки по причинам загрузки сервера или по другому форс-мажору - это уже другое дело...
...
Рейтинг: 0 / 0
23.06.2008, 15:16
    #35388624
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
Serg0

Конечно, сам по себе триггер на таблице при выключенном MQSeries не отработает свой функционал, но вместе с системой хранения референсов обработанных записей и проверки их при каждом срабатывании + аналогичный(только по сути) механизм для очереди при ее старте... Почему нет?



ну потому что нет способа запустить из триггера глобальную транзакцию.
...
Рейтинг: 0 / 0
23.06.2008, 17:03
    #35389064
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
вообще-то по задумке - триггер генерит системное событие, в каком виде, пока не определился...
вот если из триггера не удастся послать хотя бы месседж окну внешнего приложения, тогда будет "засада".
...
Рейтинг: 0 / 0
23.06.2008, 17:51
    #35389239
xz321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
1) Вам нужен DB2 connect, а не Information Integrator. Ограниченная лицензия для доступа только к iSeries что-то вроде 3000 USD.
2) Лицензия на DB2 connect входит в ESE в количестве 5 пользователей

Так что вы можете писать из DB2 UDB в DB2/iSeries и наоборот без MQ.
...
Рейтинг: 0 / 0
24.06.2008, 06:25
    #35389765
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
2 xz321. Конечно, в ESE есть DB2 Connect, более того, он активно используется, но это другая задача и другой сервер (не AS400 - unix & Oracle), и даже на него есть коннект.
...
Рейтинг: 0 / 0
24.06.2008, 08:24
    #35389834
xz321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
OS какая на DB2?
...
Рейтинг: 0 / 0
24.06.2008, 08:44
    #35389851
Serg0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MQSeries + DB2 - Information Center
W2k
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MQSeries + DB2 - Information Center / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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