Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизПоддержка GUID в InterBase/FireBird Найти похожие ветки
← →
VLAD-MAL (2004-02-09 16:36) [40]И...?
← →
Digitman (2004-02-09 16:44) [41]при исполнении этого метода в случае искл.ситуаций, связанных. например, с нарушением уникальности ключа записи, ты можешь тут же запросить у сервера уник.значение генератора, заместить у себя в лок.базе некондиционное значение ключа вновь полученным и повторить реконсайл для этой записи
← →
VLAD-MAL (2004-02-09 16:53) [42]Уважаемый, мне запихнуть запись любой ценой на сервак не главное - мне главное, чтобы id записи, которую сгенерил клиент, ГАРАНТИРОВАННО отличался от id записей, сгенерированных другими "локальными" и другими "надолго удаленными" клиентами.
Пример: тетка из Воронежа добавила новую позицию прайса "Воронежские котлеты", а потом сгенерила счет, позиция которого ссылается на эту позицию счета. В это время другой клиент в "основной" базе сгенерил другую позицию прайса "Саратовские гармошки" с тем же id. Как при переносе счета узнать, что эти позиции счета ссылаются, если их id вполне корректен?
← →
Digitman (2004-02-09 16:59) [43]
> VLAD-MAL (09.02.04 16:53) [42]
Уважаемый, твоя тетка из Воронежа со своим нотбуком и базой - пуп земли ? Пусть в отрыве от сервера генерит свои локально-уникальные ключи, а при подключении к серверу сервер, если локально-уникальное значение добавленной или модифицированной записи противоречит условиям глоб.уникальности, сообщит тетке заведомо уникальный ключ ! И пусть тетка во всех связанных таблицах, где фигурирует проблемный ключ, заменит его на тот, что запросит у сервера, когда тот в ходе синхронизации записи будет ругаться !
← →
VLAD-MAL (2004-02-09 17:05) [44]если локально-уникальное значение добавленной или модифицированной записи противоречит условиям глоб.уникальности
Оно не противоречит, я ж говорю, что ... и т.д.
Ну, ладно, похоже, разговор слепого с глухим.
Спасиба. Удачи.
← →
Digitman (2004-02-09 17:12) [45]по-русски, на огурцах :
я подключился к серверу и говорю, мол, добавь в такую-то таблицу такую-то запись с перв.ключем = 100
сервер мне сообщает в OnReconcileError(), мол, такой перв.ключ записи уже существует
я тут же запрашиваю у сервера "свежий" GEN_ID, повторяю реконсайл, сервер "проглатывает"
замечательно ! у всех связанных таблиц в моей базе я в нужной послед-ти меняю ключ на "свежий"
аналогично - для модифицируемых записей
← →
y-soft (2004-02-10 08:19) [46]По поводу использования GUID в IB - классическая статья Дмитрия Кузьменко: http://www.ibase.ru/devinfo/test2.htm
← →
roottim (2004-02-10 08:20) [47]>Anatoly Podgoretsky © (09.02.04 15:58) [34]
причем тут 2^128? -> данное высказывание касается одной машины... действительно, генерация ключа на одной машине с сетевой картой происходит с н-ой долей вероятности получить такой-же
я же сказал только то что читал об этом..
генерация гуид на основе сетевой карты дает гарантию не получить такой-же на другой машине с сетевой картой...
(то-есть речь идет в контексте 2 ПК с разными сетевыми) по причине уникальности сер.номера сетевой карты...
>Любой человек немного знакомый с математикой понимает, что это не так
ну физмат то я заканчивал...
вы может считайте что генерация пойдет с 0, что позволит дать вашу колизию... ну а я думаю иначе...
← →
Digitman (2004-02-10 08:41) [48]
> генерация гуид на основе сетевой карты дает гарантию не
> получить такой-же на другой машине с сетевой картой...
100%-ю гарантию может дать только господь бог)
в этом же случае речь идет лишь о весьма значительном уменьшении вероятности генерации одного и того же значения на разных машинах
← →
roottim (2004-02-10 11:21) [49]
> Digitman © (10.02.04 08:41) [48]
ну если быть математически :) точным вероятность сведется к вероятности появления 2-х сетевых с одинаковыми серийниками.
к чему все это.. смысл [24] то был по высказыванию [6] о том что
> мне как-то удобнее по логике id на клиенте генерить
>>не есть это хорошо, вероятность получения граблями по неуникальности перв.ключа повышается
вероятность получить одинаковый гуид на разных ПК гораздо ниже чем на сервере.. вот и все
← →
ZrenBy (2004-02-10 11:34) [50]Тайна GUID :)
http://www.sql.ru/forum/actualthread.aspx?bid=1&tid=22258
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.008 c