Обновите MS Sync Framework 2.0 до 2.1 с помощью отслеживания изменений SQL Server 2008 - PullRequest
1 голос
/ 29 августа 2011

Я использую Sync Framework 2.0 с SQL Server 2008 и Sql Compact Server 3.5 SP и использую интегрированное отслеживание изменений SQL Server.

Теперь я хочу обновить Sync Framework до версии 2.1

Справка сообщает, что существует режим совместимости 2.0 и что базы данных CE обновляются автоматически. Когда я подключаюсь к базе данных CE, которую я в последний раз синхронизировал с версией 2.0, я получаю сообщение:

Microsoft.Synchronization.Data.DbNotProvisionedException The current operation could not be completed because the database is not provisioned for sync or you not have permissions to the sync configuration tables. Boolean NeedsUpgrade()

Как представляется, Sync Framework пытается обновить базу данных, используя неверный механизм отслеживания изменений. Но я не смог найти способ настроить механизм для использования.

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 720, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 722, Подключение с использованием строки: источник данных = mueller1103; начальный каталог = Customer.Web; идентификатор пользователя = клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 726, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 728, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 729, Подключение с использованием строки: источник данных = mueller1103; исходный каталог = Customer.Web; идентификатор пользователя = клиент; пароль = **

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 737, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 757, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 770, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 810, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 834, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 846, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 851, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 862, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 883, подключение с использованием строки: источник данных = mueller1103; начальный каталог = Customer.Web; идентификатор пользователя = клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 894, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 925, Подключение с использованием строки: источник данных = mueller1103; начальный каталог = Customer.Web; идентификатор пользователя = клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 931, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 937, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 947, Подключение с использованием строки: источник данных = mueller1103; исходный каталог = Customer.Web; идентификатор пользователя = клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 952, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 961, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 966, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE,w3wp, 17, 30.08.2011 11: 54: 25: 975, Подключение с использованием строки: Источник данных = mueller1103; Первоначальный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 08/ 30/2011 11: 54: 25: 985, Подключение с использованием строки: Источник данных = mueller1103; Первоначальный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11: 54: 25: 990, Подключение с использованием строки: Источник данных = mueller1103; Исходный каталог = Customer.Web; Идентификатор пользователя = Клиент

VERBOSE, w3wp, 17, 30.08.2011 11:54:26:000, подключение к базе данных: D: \ Customer \ Customer.WEB \ Service \ App_Data \ 1a074cdb-b03a-406a-8996-098811c375a2CustomerMobil.sdf

Ссылка на объект System.NullReferenceException не установлена ​​на экземпляр объекта.Логическое значение UpgradePublicTracking (System.String) в System.Data.SqlServerCe.SqlCeChangeTracking.UpgradePublicTracking (String connectionString)
в Microsoft.Synchronization.Data.SqlServerCe.SqlCeClientSyncProvider.IverSece.SqlCeClientSyncProvider.BeginTransaction (SyncSession syncSession)
в Microsoft.Synchronization.SyncAgent.DataSynchronize ()
в Microsoft.Synchronization.SyncAgent.Synchronize ()
в Customer.Sync.Mobile.MuSync.: \ Customer \ Customer.Sync \ Customer.Sync \ Mobile \ MobilSync.cs: Zeile 38.
в Customer.WEB.Communication.Sync.DoSyncThread (Object syncParams) в D: \ Customer \ Customer.WEB \ MobilSync \Sync.cs: Zeile 79.

1 Ответ

0 голосов
/ 29 августа 2011

я предполагаю, что вы пытаетесь перенести синхронизацию SqlCeClientSyncProvider / DBServerSyncProvider / SyncAgent в SqlSyncProvider / SqlCeSyncProvider / SyncOrchestrator.

первый из них называется автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой также автономной базой данных C, используемой автономным провайдером Cв Visual Studio), которая работает по топологии со спицами.последний упоминается как провайдеры совместной работы, которые могут работать в сценариях с концентратором или в одноранговой сети.

Эти провайдеры отличаются по способу отслеживания и применения изменений, а также по способу синхронизации.метаданные, поэтому вы не можете «обновить» провайдера, а просто «мигрировать» на другой набор провайдеров.

если вы мигрируете на новых провайдеров, вам придется подготовить базу данных с помощью API предоставления.

Вот полное руководство по использованию новых поставщиков:

Учебное пособие: синхронизация SQL Server и SQL Server Compact

Более того, вы можете сохранитьсуществующего кода в версии 2.0 и запускайте его в том виде, как он есть в версии 2.1, поскольку в используемых вами провайдерах мало что изменилось.

...