Поделиться через


Практическое руководство. Настройка синхронизации данных для использования отслеживания изменений SQL Server

Обновлен: Июль 2008

В Visual Studio 2008 SP1 добавлена поддержка возможности отслеживания изменений SQL Server 2008. Возможность включения отслеживания изменений SQL Server во время настройки служб синхронизации добавлена в диалоговое окно Настройка синхронизации данных дополнительно к Мастеру настройки источника данных.

Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

Параметр для включения отслеживания изменений SQL Server становится доступным только после того, как подключение к удаленному серверу базы данных будет настроено для соединения с базой данных SQL Server 2008.

Включение отслеживания изменений SQL Server с помощью диалогового окна "Настройка синхронизации данных"

В следующей процедуре даны шаги, которым нужно следовать для настройки синхронизации данных и включения отслеживания изменений SQL Server во время настройки служб синхронизации с помощью диалогового окна Настройка синхронизации данных. Примеры, в которых используются реальные данные и настройка синхронизации с помощью диалогового окна Настройка синхронизации данных, см. в разделе Пошаговое руководство. Создание произвольно подключаемого приложения.

Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

Настройка синхронизации данных с помощью диалогового окна "Настройка синхронизации данных"

  1. В меню Проект выберите команду Добавить новый элемент.

  2. Выберите шаблон Кэш локальной базы данных.

  3. Либо введите альтернативное имя, либо оставьте имя по умолчанию из LocalDataCache1.Sync.

  4. Нажмите кнопку Добавить.

    В проект будет добавлен файл SYNC, и откроется диалоговое окно Настройка синхронизации данных.

  5. Задайте параметр Соединение с сервером для удаленной базы данных SQL Server 2008, к которой требуется подключиться.

  6. Задайте параметр Соединение с клиентом для локальной базы данных SQL Server Compact 3.5, в которой будут локально храниться данные. Если нет локальной базы данных, можно оставить настройку Имя базы данных.sdf (новое) по умолчанию для создания новой базы данных в проекте. Имя новой базы данных будет основываться на имени базы на сервере.

    Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

    По умолчанию кнопка ОК отключена и включается после добавления таблицы в область Кэшированные таблицы.

  7. Выберите Использовать отслеживание изменений SQL Server. По умолчанию этот параметр выбран, если Соединение с сервером задано для базы данных SQL Server 2008.

  8. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Настройка таблиц для автономной работы.

  9. Выберите таблицы, которые нужно добавить в кэш локальной базы данных, и настройте режим синхронизации (данные для загрузки во время синхронизации):

    Данные для загрузки:

    • Новые и добавочные изменения после первой синхронизации

      Этот параметр извлекает из сервера записи, которые были изменены с момента последней синхронизации. Во время первой синхронизации будет загружена вся таблица.

    • Каждый раз всю таблицу

      Этот параметр заменяет локальную таблицу ее текущей версией на сервере.

      Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

      Задайте режим синхронизации для каждой таблице, которую нужно настроить для автономного использования. Дополнительные отключенные параметры будут доступны, только если не включено отслеживание изменений SQL Server.

  10. Нажмите кнопку OK.

  11. Нажмите кнопку Показать пример кода, чтобы открыть диалоговое окно Пример кода, которое содержит пример кода, запускающий процесс синхронизации. Этот код можно скопировать в буфер обмена и вставить в программу.

  12. Параметры Дополнительно в диалоговом окне Настройка синхронизации данных предоставляют настройки, позволяющие определить, будут ли таблицы синхронизированы по отдельности или в пределах одной транзакции. Эти параметры также позволяют включить разделение кода для многоуровневых приложений.

    • Синхронизация таблиц в одной транзакции. По умолчанию этот флажок не установлен, и все таблицы будут синхронизироваться по отдельности. Если возникнут ошибки, только таблицы с ошибками откатят свои изменения. Если выбран этот параметр, все таблицы синхронизируются в одной транзакции. Если обнаружены ошибки, все модификации для всех таблиц откатываются.

    • Создание компонентов синхронизации. По умолчанию компоненты синхронизации создаются и для сервера, и для клиента. Можно установить этот параметр на значение Только клиент или на значение Только сервер для соответствия требованиям приложения.

    • Расположение сервера проекта. По умолчанию компоненты синхронизации для сервера будут созданы в текущем проекте. Установите этот параметр для создания компонентов синхронизации для сервера в любой проект вида Visual Basic или Visual C# в решении.

    • Расположение клиента проекта. По умолчанию компоненты синхронизации для клиента будут созданы в текущем проекте. Установите этот параметр для создания компонентов синхронизации для клиента в любой проект вида Visual Basic или Visual C# в решении.

  13. Нажмите кнопку OK.

  14. Если для режима синхронизации для одной из локально кэшированных таблиц установлен параметр Новые и добавочные изменения после первой синхронизации, потребуются обновления в базе данных SQL Server, и откроется диалоговое окно Создание сценариев SQL. По умолчанию оба параметра в диалоговом окне выбраны:

    • Обновить сервер для добавочных изменений. Выберите этот параметр для автоматического обновления сервера с помощью добавочной синхронизации сразу после закрытия этого диалогового окна.

    • Сохранить сценарии SQL в проекте для дальнейшего использования. Выберите этот параметр, чтобы добавить в проект сгенерированные сценарии SQL, которые после можно использовать в базе данных SQL Server. Также создаются и добавляются в проект сценарии отмены.

  15. Нажмите кнопку ОК.

    Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

    Отслеживание изменений SQL Server будет включено только после обновления сервера.

    После нажатия кнопки ОК на странице Выбор объектов базы данных откроется Мастер настройки источника данных. (Мастер настройки источника данных открывается каждый раз при добавлении в проект файла локальной базы данных.)

  16. Выберите таблицу для добавления к типизированному набору данных.

  17. Нажмите кнопку Готово.

После настройки синхронизации данных с помощью диалогового окна Настройка синхронизации данных необходимо добавить код в приложение для запуска синхронизации.

Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

При выполнении синхронизации данных обновляется локальная база данных, а не таблица в наборе данных или любой другой объект в приложении. Не забудьте перезагрузить источник данных приложения обновленными данными из локальной базы данных. Например, вызовите метод TableAdapter.Fill для загрузки таблицы данных набора данных с обновленными данными из локальной базы данных.

Добавление кода запуска процесса синхронизации

  • При копировании кода из диалогового окна Пример кода в предыдущем разделе можно просто вставить его в приложение из буфера. Иначе можно вставить следующий код в любое место приложения, где нужно начать процесс синхронизации:

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

Включение отслеживания изменений SQL Server с помощью мастера настройки источника данных

В следующей процедуре даны шаги, которым нужно следовать для настройки синхронизации данных и включения отслеживания изменений SQL Server во время настройки типизированного набора данных с помощью мастера настройки источника данных.

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

Настройка синхронизации данных для использования отслеживания изменений SQL Server с помощью мастера настройки источника данных

  1. В меню Данные нажмите кнопку Показать источники данных.

  2. В окне Источники данных выберите Добавить новый источник данных, чтобы открыть мастер настройки источника данных.

  3. Оставьте значение по умолчанию параметра База данных, выбранное на странице Выбор типа источника данных, а затем нажмите кнопку Далее.

  4. На странице Выбор подключения к базе данных выполните одно из следующих действий:

    • Если в раскрывающемся списке доступно подключение к версии SQL Server 2008 нужной базы данных, выберите его.

      -или-

    • Нажмите кнопку Создать подключение, чтобы открыть диалоговое окно Выбор источника данных или Добавить/изменить подключение, и создайте подключение к базе данных SQL Server 2008. Дополнительные сведения см. в разделе Диалоговое окно "Добавить/Изменить подключение" (вкладка "Общие").

  5. Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее.

  6. Нажмите кнопку Далее на странице Сохранить строку подключения в файл конфигурации приложения.

  7. Раскройте узел Таблицы на странице Выбор объектов базы данных.

  8. Выберите таблицы, которые нужно добавить в кэш локальной базы данных.

  9. Выберите Включить кэширование локальной базы данных.

  10. Нажмите кнопку Далее на странице Выбор объектов базы данных.

  11. Выберите таблицы, которые нужно кэшировать, на странице Выбор таблиц для кэширования.

  12. Задайте Режим синхронизации.

    • Новые и добавочные изменения после первой синхронизации

      Этот параметр извлекает из сервера записи, которые были изменены с момента последней синхронизации. Во время первой синхронизации будет загружена вся таблица.

    • Каждый раз всю таблицу

      Этот параметр заменяет локальную таблицу ее текущей версией на сервере.

  13. Выберите Использовать отслеживание изменений SQL Server. По умолчанию этот параметр выбран, если Соединение с сервером задано для базы данных SQL Server 2008.

  14. Нажмите кнопку Готово.

  15. Если для режима синхронизации для одной из локально кэшированных таблиц установлен параметр Новые и добавочные изменения после первой синхронизации, потребуются обновления в базе данных SQL Server, и откроется диалоговое окно Создание сценариев SQL. По умолчанию оба параметра в диалоговом окне выбраны:

    • Обновить сервер для добавочных изменений. Выберите этот параметр для автоматического обновления сервера с помощью добавочной синхронизации сразу после закрытия этого диалогового окна.

    • Сохранить сценарии SQL в проекте для дальнейшего использования. Выберите этот параметр, чтобы добавить в проект сгенерированные сценарии SQL, которые после можно использовать в базе данных SQL Server. Также создаются и добавляются в проект сценарии отмены.

  16. Нажмите кнопку OK.

    Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

    Отслеживание изменений SQL Server будет включено только после обновления сервера.

После завершения работы с мастером настройки источника данных необходимо добавить код в приложение для запуска синхронизации.

Cc714038.alert_note(ru-ru,VS.90).gifПримечание.

При выполнении синхронизации данных обновляется локальная база данных, а не таблица в наборе данных или любой другой объект в приложении. Не забудьте перезагрузить источник данных приложения обновленными данными из локальной базы данных. Например, вызовите метод TableAdapter.Fill для загрузки таблицы данных набора данных с обновленными данными из локальной базы данных.

Добавление кода запуска процесса синхронизации

  • Вставьте следующий код в любое место приложения, где нужно начать процесс синхронизации:

    ' Call SyncAgent.Synchronize() to initiate the synchronization process.
    ' Synchronization only updates the local database, not your project's data source.
    Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize()
    
    ' Add code here to refill your application's data source
    ' with the updated data from the local database.
    
    // Call SyncAgent.Synchronize() to initiate the synchronization process.
    // Synchronization only updates the local database, not your project's data source.
    LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats =
    syncAgent.Synchronize();
    
    // Add code to refill your application's data source
    // with the updated data from the local database.
    

См. также

Задачи

Пошаговое руководство. Создание произвольно подключаемого приложения

Пошаговое руководство. Развертывание произвольно подключаемых клиентских приложений с локальной базой данных

Пример периодически подключаемых данных

Основные понятия

Общие сведения о произвольно подключаемых приложениях

Другие ресурсы

Произвольно подключаемые приложения

Журнал изменений

Дата

Журнал

Причина

Июль 2008

Добавлен раздел.

Изменение функции SP1.