Синхронизация других баз данных, совместимых с ADO.NET
В этом разделе приведены общие сведения, процедуры и полные примеры кода для обычных задач синхронизации, которые можно выполнить с помощью платформы Sync Framework. Назначение этих разделов — продемонстрировать, как можно выполнить синхронизацию баз данных, отличных от SQL Server, с помощью платформы Sync Framework. В этой версии в примерах кода используется SQL Server, но сам код можно использовать для других, совместимых с ADO.NET, баз данных с некоторыми изменениями специфических объектов SQL Server (например, SqlConnection) и отображаемых SQL-запросов. Дополнительные сведения о синхронизации SQL Server (включая выпуски SQL Server Express и SQL Server Compact) см. в разделе Как настроить и выполнить синхронизацию базы данных (SQL Server).
В этом разделе
Как подготовить серверную базу данных для синхронизации совместной работы (не SQL Server)
Как настроить и выполнить синхронизацию совместной работы (не SQL Server)
Как использовать переменные сеанса для синхронизации совместной работы (не SQL Server)
Как очищать метаданные для синхронизации совместной работы (Non-SQL Server)
Примеры приложений в разделах инструкций
Каждый раздел инструкций содержит одно приложение командной строки. Это приложение написано на языках C# и Visual Basic и демонстрирует конкретные функции API. Хотя было бы проще показать только примеры кода для определенной задачи или функции, но легче понять, как работают службы Sync Framework, если увидеть отдельную функцию в достаточно полном контексте.
Каждое приложение содержит классы, относящиеся к описываемым функциям, а также следующие классы.
Program. Этот класс подготавливает синхронизацию и вызывает методы класса Utility. Класс Utility обрабатывает все функции, не относящиеся непосредственно к синхронизации, в частности сохраняет информацию о строке соединения и выполняет изменения в базе данных, используемой в процессе синхронизации.
SampleSyncAgent. Этот класс является производным от SyncOrchestrator.
SampleSyncProvider. Этот класс содержит метод, создающий объекты DbSyncProvider или SqlCeSyncProvider для каждого синхронизируемого узла и объект DbSyncAdapter для каждой синхронизируемой таблицы с помощью класса DbSyncProvider.
Код для всех приложений тестировался в среде Visual Studio 2008 и SQL Server 2008.
Запуск каждого приложения
Выполните скрипт Transact-SQL «Пользовательское отслеживание изменений для совместной работы» из раздела Инструкции по сценариям установки для поставщика базы данных. Этот скрипт создает три базы данных (каждая с набором таблиц и триггеров) и набор хранимых процедур. Для удаления и повторной вставки образцов данных используется хранимая процедура usp_ResetPeerData.
Скопируйте код класса Utility из раздела Инструкции по классу Utility для поставщика базы данных. Вставьте этот код в каждое из приложений, предназначенных для запуска, либо создайте на его основе DLL-библиотеку и ссылайтесь на нее из каждого приложения. В качестве имени базы данных строки соединения с базой данных в этом классе используется localhost. При необходимости измените имя базы данных.
Добавьте ссылки на следующие DLL-библиотеки.
Microsoft.Synchronization.dll
Microsoft.Synchronization.Data.dll
Microsoft.Synchronization.Data.SqlServerCe.dll и System.Data.SqlServerCe.dll (требуется не для всех примеров)
См. также
Другие ресурсы
Архитектура и классы для синхронизации базы данных
Сценарии синхронизации баз данных
Как настроить и выполнить синхронизацию базы данных (SQL Server)