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


Как создать базу данных SQL Server Compact Edition с помощью объекта Replication (программным путем)

В этом разделе описывается программный способ создания базы данных Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) с помощью метода AddSubscription объекта SqlServerCe.Replication. Дополнительные сведения об использовании пространства имен SqlServerCe см. в справочной документации по пространству имен SqlServerCe.

Создание базы данных SQL Server Compact Edition с помощью объекта Replication

  1. Инициализируйте новый объект Replication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Настройте свойства объекта Replication. Эти свойства могут включать данные, необходимые для установления соединения с издателем SQL Server. В свойстве SubscriberConnectionString указывается имя и размещение файла создаваемой базы данных.

    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
    repl.InternetUrl = "https://www.adventure-works.com/" + 
         "sqlmobile/sqlcesa30.dll";
    repl.InternetLogin = "MyInternetLogin";
    repl.InternetPassword = "<password>";
    repl.Publisher = "MyPublisher";
    repl.PublisherDatabase = "MyPublisherDatabase";
    repl.PublisherLogin = "MyPublisherLogin";
    repl.PublisherPassword = "<password>";
    repl.Publication = "MyPublication";
    repl.Subscriber = "MySubscriber";
    
  3. Вызовите метод AddSubscription, передав в него параметр AddOption.CreateDatabase.

    repl.AddSubscription(AddOption.CreateDatabase);
    

Пример

В приведенном примере показано, как создать новую базу данных путем создания объекта Replication, настройки свойств базы данных и подписки и вызова метода AddSubscription.

SqlCeReplication repl = null;
        try
        {
            // Instantiate and configure SqlCeReplication object
            //
            repl = new SqlCeReplication();
            repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
            repl.InternetLogin = "MyInternetLogin";
            repl.InternetPassword = "<password>";
            repl.Publisher = "MyPublisher";
            repl.PublisherDatabase = "MyPublisherDatabase";
            repl.PublisherLogin = "MyPublisherLogin";
            repl.PublisherPassword = "<password>";
            repl.Publication = "MyPublication";
            repl.Subscriber = "MySubscriber";
            repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";

            // Create a local SQL Server Compact Edition Database subscription
            //
            repl.AddSubscription(AddOption.CreateDatabase);

            // Synchronize to the SQL Server database
            //
            repl.Synchronize();
        }
        catch (SqlCeException)
        {
            // Handle errors here
            //
        }
        finally
        {
            // Dispose the repl object
            //
            repl.Dispose();
        }
Dim repl As SqlCeReplication = Nothing
        Try
            ' Instantiate and configure SqlCeReplication object
            '
            repl = New SqlCeReplication()
            repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll"
            repl.InternetLogin = "MyInternetLogin"
            repl.InternetPassword = "<password>"
            repl.Publisher = "MyPublisher"
            repl.PublisherDatabase = "MyPublisherDatabase"
            repl.PublisherLogin = "MyPublisherLogin"
            repl.PublisherPassword = "<password>"
            repl.Publication = "MyPublication"
            repl.Subscriber = "MySubscriber"
            repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"

            ' Create the local SQL Server Compact Edition Database subscription
            '
            repl.AddSubscription(AddOption.CreateDatabase)

            ' Synchronize to the SQL Server to populate the subscription 
            '
            repl.Synchronize()
        Catch
            ' Handle errors here
            '
        Finally
            ' Dispose the repl object
            '
            repl.Dispose()
        End Try

См. также

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

Использование репликации слиянием

Справка и поддержка

Получение помощи по SQL Server Compact Edition