Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-12527
SlavaZ
2004-02-12 00:59
2004.03.05
Как узнать?


7-12543
Meskalito
2003-12-03 13:46
2004.03.05
Температура Процессора


1-12422
Вованчик
2004-02-24 15:52
2004.03.05
Рекурсивная функция


14-12536
volkodav
2004-02-11 23:23
2004.03.05
1C


1-12391
Гарри Поттер
2004-02-24 21:54
2004.03.05
Key = VK_1 //ошибка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский