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

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

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

Периодически подключаемые приложения являются приложениями, которые не всегда имеют доступ к удаленным данным. Поскольку они не всегда имеют такой доступ, они потребляют данные из локальной базы данных, расположенной на стороне клиента, и периодически синхронизируют данные между удаленной и локальной базами данных. Синхронизацию данных между локальной и удаленной базами данных упрощает Microsoft Synchronization Services для ADO.NET (пространство имен Microsoft.Synchronization.Data). Первоначально такая синхронизация создается путем добавления кэша локальной базы данных к приложению с помощью диалогового окна Добавление нового элемента или выполнения Мастера настройки источника данных. В данном пошаговом руководстве это будет сделано позже.

В данном пошаговом руководстве будут выполнены следующие задачи:

  • Создание нового приложения Windows Forms.

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

  • Создание формы Windows Forms для отображения данных и подтверждения синхронизации.

  • Добавление кода для инициализации синхронизации баз данных.

  • Добавление поля сообщения для отображения сведений о числе синхронизированных записей.

Обязательные компоненты

Для выполнения данного пошагового руководства необходимо следующее:

Создание приложения Windows Forms

Поскольку будет происходить отображение данных в формах Windows Forms (для проверки успешности синхронизации), первым шагом в этом пошаговом руководстве является создание нового приложения Windows Forms.

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

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

Для создания приложения Windows Forms

  1. Из меню Файл создайте новый проект.

  2. Задайте для проекта имя OCSWalkthrough2.

  3. Выберите шаблон Приложение Windows Forms и нажмите кнопку OK. Дополнительные сведения см. в разделе Создание приложения для Windows.

    Проект OCSWalkthrough2 будет создан и добавлен в окно Обозреватель решений.

Создание источника данных, включающего кэш локальной базы данных

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

Создание источника данных, включающего кэш локальной базы данных

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

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

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

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

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

      -или-

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

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

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

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

  8. Выберите таблицу Customers.

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

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

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

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

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

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

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

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

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

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

Включение синхронизации в приложении

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

  • Локальную версию учебной базы данных "Northwind" (Northwind.sdf).

  • Файл параметров синхронизации данных (NorthwindCache.sync).

  • Типизированный набор данных NorthwindDataSet.xsd, созданный мастером настройки источника данных. Он содержит таблицу Customers, заполняемую данными из локальной базы данных.

    Выполняется начальная синхронизация, и таблица Customers в кэше локальной базы данных будет синхронизирована с серверной базой данных. Другими словами, таблица Customers в локальной базе данных SQL Server Compact 3.5 (Northwind.sdf) заполняется текущими данными из таблицы Customers базы данных на сервере.

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

  • Папка SQLUndoScripts, содержащая сценарии для удаления отслеживаемых столбцов, таблицы удаляемых элементов и необходимых триггеров, добавленных к серверу.

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

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

  • Ссылки на следующие библиотеки DLL Microsoft Synchronization Services для ADO.NET:

    • Microsoft.Synchronization.Data

    • Microsoft.Synchronization.Data.Server

    • Microsoft.Synchronization.Data.SqlServerCe

Добавление функциональных возможностей синхронизации в веб-приложение

После настройки синхронизации данных по-прежнему необходимо добавить функциональные возможности синхронизации в приложении. Точнее, необходимо добавить код, который инициирует процесс синхронизации. Добавьте элементы управления на форму для отображения данных и запуска процесса синхронизации.

Во-первых, будет добавлен элемент управления DataGridView путем перетаскивания узла Customers на форму из окна Источники данных. DataGridView будет отображать таблицу Customers кэша локальной базы данных (база данных Northwind.sdf, размещенная в проекте), поэтому можно проверить, что данные синхронизируются между локальной и удаленной базами данных. Добавьте на форму кнопку для начала процесса синхронизации.

Для создания формы с привязкой к данным для инициирования и проверки синхронизации данных

  1. Перетащите узел Customers из окна Источники данных на Form1.

  2. Перетащите элемент управления Кнопка из Панели элементов на Form1. Установите его свойство Имя в SynchronizeButton и его свойство Текст в Синхронизация.

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

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

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

    Пояснения о строке кода, объявляющей переменную syncStats, будут даны позже в этом документе.

    ' Call the Synchronize method to synchronize
    ' data between local and remote databases.
    Dim syncAgent As NorthwindCacheSyncAgent = New NorthwindCacheSyncAgent()
    Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = _
        syncAgent.Synchronize()
    
    ' After synchronizing the data, refill the
    ' table in the dataset.
    Me.CustomersTableAdapter.Fill(NorthwindDataSet.Customers)
    
    // Call the Synchronize method to synchronize
    // data between local and remote databases.
    NorthwindCacheSyncAgent syncAgent = new NorthwindCacheSyncAgent();
    Microsoft.Synchronization.Data.SyncStatistics syncStats;
    syncStats = syncAgent.Synchronize();
    // After synchronizing the data, refill the
    // table in the dataset.
    this.customersTableAdapter.Fill(this.northwindDataSet.Customers);
    

Проверка работы приложения

Тестирование приложения

  1. Нажмите клавишу F5.

  2. Во время работы приложения используйте Обозреватель серверов/Обозреватель баз данных (или другое средство управления базами данных), чтобы подключиться к удаленному серверу баз данных и изменить некоторые записи.

    1. В окне Обозреватель серверов/Обозреватель баз данных найдите таблицу Customers на удаленном сервере баз данных (не подключенном к Northwind.sdf).

    2. Щелкните правой кнопкой мыши таблицу Customers и выберите команду Показать таблицу данных.

    3. Измените одну или несколько записей и зафиксируйте изменения. (Переместите курсор с измененной строки.)

  3. Вернитесь в форму и нажмите кнопку Синхронизация.

  4. Убедитесь, что изменения в удаленной базе данных синхронизированы с локальной базой данных и отображаются на форме.

  5. Закройте форму. (Остановите отладку.)

Получение сведений синхронизации

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

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

  • Откройте Form1 в редакторе кода и добавьте следующий код в конце обработчика событий SynchronizeButton_Click, после кода, добавленного на предыдущих шагах:

        MessageBox.Show("Changes downloaded: " & _
    syncStats.TotalChangesDownloaded.ToString)
    
    MessageBox.Show("Changes downloaded: " +
        syncStats.TotalChangesDownloaded.ToString());
    

Проверка работы приложения

Чтобы протестировать приложение

  1. Нажмите клавишу F5.

  2. Во время работы приложения используйте Обозреватель серверов/Обозреватель баз данных (или другое средство управления базами данных), чтобы подключиться к удаленному серверу баз данных и изменить некоторые записи.

    1. В окне Обозреватель серверов/Обозреватель баз данных найдите таблицу Customers на удаленном сервере баз данных (не подключенном к Northwind.sdf).

    2. Щелкните правой кнопкой мыши таблицу Customers и выберите команду Показать таблицу данных.

    3. Измените одну или несколько записей и зафиксируйте изменения. (Переместите курсор с измененной строки.)

  3. Вернитесь в форму и нажмите кнопку Синхронизация.

  4. Откроется окно сообщения, содержащее сведения о синхронизированных записях.

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

Следующие действия

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

См. также

Задачи

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

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

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

SQL Server Compact 3.5 и Visual Studio

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

Дата

Журнал

Причина

Июль 2008

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

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