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

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


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