Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Первичный ключ и репликация / 16 сообщений из 16, страница 1 из 1
17.05.2006, 07:11
    #33731382
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Объясните пожалуйста новичку как происходит генерация первичного ключа при вставке изменений в target tables...В документации прочитала следующее :
The Apply program then attempts to update the row in the target table with the new key value.

Откуда берется это самое new key value, по каким принципам генерируется? Значит ли это что primary key должен быть автоинкрементным?
Может подскажете какую-нибудь доку где об этом можно почитать поподробнее.
...
Рейтинг: 0 / 0
17.05.2006, 09:26
    #33731598
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Версия базы какая?
...
Рейтинг: 0 / 0
17.05.2006, 09:28
    #33731604
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
DB2 v.7.2
...
Рейтинг: 0 / 0
17.05.2006, 09:49
    #33731660
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
В 7.2 у вас есть 2 варианта репликации изменений в таблице:

1. Как 2 операции: delete и insert
2. Как update

В первом случае в target она сначала удаляет старую запись, потом вставляет новую, согласно сделанным изменениям.
Это все хорошо, если в target на эту запись ничего не ссылается внешним ключом.

Во втором случае ибмеры, видимо, прикололись (в 7.2):
в соотв. таблице изменений генерируется одна запись, типа, надо сделать 1 update. Но информации о старом значении ключа нет (бу-га-га)!
Поэтому, если вы сделали изменение какого-либо ключевого поля в этом режиме репликации, то изменения отразятся криво.
Поэтому, в таком режиме запрещайте update полей первичного ключа.

Но во всех случаях репликация не генерирует сама первичный ключ.

Насчет почитать,
SQL Replication Guide and Reference
вполне достаточно ИМХО на первое время.
...
Рейтинг: 0 / 0
17.05.2006, 09:58
    #33731679
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Меня интересует с каким значением первичного ключа будет вставлена новая строка в target table. Если она возьмет значение primary key из source table то возможна ситуация когда совпадут значения первичного ключа уже существующей записи и вновь добавленной..Как тогда поступит прога?


Читаю как раз SQL Replication Guide and Reference. Именно там вычитала по поводу new key value.
...
Рейтинг: 0 / 0
17.05.2006, 10:09
    #33731707
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Так мы про update или insert?
Если про insert, то новая строка будет вставлена с тем значением ключа, что и в source. Если возникнет конфликт, репликация остановится и, до исправления ситуации, ничего реплицировать не будет.
...
Рейтинг: 0 / 0
17.05.2006, 11:05
    #33731858
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Извините за совсем уже тогда глупый вопрос(очень уж хочется разобраться во всем до конца) , как же тогда добиться того, чтобы значения primary key было разным в source и target...Наверное я пропустила что то важное...
Спасибо за терпение и подробные объяснения!
...
Рейтинг: 0 / 0
17.05.2006, 11:16
    #33731912
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Наверное имеет смысл навесить триггер BEFORE INSERT на target?
...
Рейтинг: 0 / 0
17.05.2006, 11:16
    #33731916
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Создайте view типа:

Код: plaintext
1.
2.
create view myview ("new_pk", "other_fields") as 
select "выражение(я), преобразующее(ия) PK таблицы в новое(ые) значение(я)", "other_fields"
from mytable;

И реплицируйте эту view.
...
Рейтинг: 0 / 0
17.05.2006, 11:17
    #33731918
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Хотя с другой стороны, а как удаление будет проходить?...
...
Рейтинг: 0 / 0
17.05.2006, 11:27
    #33731962
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Ну хотя бы с поддержкой констрейнтов не возникнет никаких проблем?
...
Рейтинг: 0 / 0
17.05.2006, 11:33
    #33731992
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
VНу хотя бы с поддержкой констрейнтов не возникнет никаких проблем?

Вопрос не понятен.
Какие проблемы ожидаются и на каком этапе?
...
Рейтинг: 0 / 0
17.05.2006, 12:07
    #33732171
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Что-то мне подсказывает что вам нужен составной первичный ключ...)
...
Рейтинг: 0 / 0
18.05.2006, 07:48
    #33734318
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
gardenmanЧто-то мне подсказывает что вам нужен составной первичный ключ...)

Я тоже склоняюсь к этой мысли, только пока не совсем представляю пока как он будет выгядеть
...
Рейтинг: 0 / 0
18.05.2006, 07:50
    #33734320
V
V
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
неужели в DB2 нет никаких встроенных механизмов, касающихся поддержки первичных ключей
...
Рейтинг: 0 / 0
18.05.2006, 09:33
    #33734478
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Первичный ключ и репликация
Не знаю, как остальные, но я не понимаю, чего вы хотите добиться.
Объясните, зачем вам понадобилось реплицировать запись с изменением первичного ключа?
Это что, какое-то оригинальное требование вашей системы?
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Первичный ключ и репликация / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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