Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / "Синхронизация" баз / 7 сообщений из 7, страница 1 из 1
18.11.2002, 18:01
    #32069243
Leonid M.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
Стоит следующая задача, есть сервер с MSSQL 2000, не столь важно. И несколько клиентов локальных на ACCESS(теоритически их может быть сколько угодно). Данные с локальных клиентов собираются на сервере. Понятно записи в таблицах идетифицируются по какому-то id(целое, identity). причём ессно на клиенте и на сервере эти id различаются. Таблицы между собой связаны, стоит задача как бы сделать так чтобы при копировании данных на сервер эти отношения между записями не потерялись. Конечно можно сделать тупо в родительскую таблицу запись добавил, получил id записи, после чего использую этот id при добавлении в дочернии таблицы. Может быть есть способ поэлегантнее? и попроще?
...
Рейтинг: 0 / 0
19.11.2002, 09:52
    #32069391
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
Твоя задача легко решится после того, как ты определишь, что является естественным (натуральным) ключем в таблицах. Суррогатные ключи (Id, etc) - чисто для внутреннего применения, но они не годятся для связи базы с внешними источниками. В этой эпархии рулит естественные ключи.
...
Рейтинг: 0 / 0
19.11.2002, 11:01
    #32069449
Leonid M.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
а что это за естественные ключи?
...
Рейтинг: 0 / 0
19.11.2002, 11:23
    #32069470
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
В справочнике городов России это будет, например, название города, а справочнике городов мира это будет композитный ключ из названия страны и названия города.
...
Рейтинг: 0 / 0
06.12.2002, 07:41
    #32076481
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
а потом на двух удаленных экземплярах введут по одной записи с одним натуральным ключом и вся красота полетит к чертовой матери.
все субд для репликаций используют суррогатные ключи
(функция от id записи и от id экземпляра базы данных) или центральная раздают интервалы
первичных ключей по удаленным экземплярам
...
Рейтинг: 0 / 0
06.12.2002, 09:42
    #32076519
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
Хотелось бы конечно хотя бы кратко какие таблицы есть, структуру.

Но в принципе можно и вот так:
добавить на сервере доп. поля - для ID из клиента и имя самого клиента.
Потом спокойненько все закачиваешь сразу, а уж потом по этим полям промапливаешь связи с серверными ID таблиц. Так будет надежнее.
...
Рейтинг: 0 / 0
11.12.2002, 12:51
    #32078427
AISOFT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
"Синхронизация" баз
В таких случаях лучше всего использовать GUID, в случае необходимости можно ввести поле, информация в котором будет указывать откуда пришла запись. Дополнительно надо продумать механизм работы с общими справочниками.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / "Синхронизация" баз / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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