Partilhar via


Como criar um banco de dados usando o objeto Replication (programaticamente)

Neste tópico, você aprenderá como criar um banco de dados do Microsoft SQL Server Compact 3.5 programaticamente chamando o método AddSubscription do objeto SqlServerCe.Replication. Para obter mais informações sobre como usar o namespace SqlServerCe, consulte a documentação de referência de namespaces do SqlServerCe.

Procedimentos do SQL Server Compact 3.5

Para criar um banco de dados usando o objeto Replication

  1. Inicialize um novo objeto Replication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Defina as propriedades do objeto Replication. Essas propriedades podem incluir as informações necessárias para conectar o Editor do SQL Server. A propriedade SubscriberConnectionString especifica o nome do arquivo e o local do banco de dados que será criado.

    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
    repl.InternetUrl = "https://www.adventure-works.com/" + 
         "sqlmobile/sqlcesa35.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. Chame o método AddSubscription passando o parâmetro AddOption.CreateDatabase.

    repl.AddSubscription(AddOption.CreateDatabase);
    

Para criar um banco de dados que diferencia maiúsculas de minúsculas usando o objeto Replication

  1. Inicialize um novo objeto Replication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Defina as propriedades do objeto Replication. Essas propriedades podem incluir as informações necessárias para conectar o Editor do SQL Server. A propriedade SubscriberConnectionString especifica o nome do arquivo e o local do banco de dados que será criado. Além disso, a propriedade SubscriberConnectionString suporta uma nova propriedade "Case sensitive". Esta propriedade é usada para criar um banco de dados de assinatura que diferencia maiúsculas de minúsculas. Para obter mais informações sobre bancos de dados com diferenciação de maiúsculas e minúsculas, consulte Trabalhando com agrupamentos (SQL Server Compact).

    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf; LCID=1033; Case Sensitive=true";
    repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.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. Chame o método AddSubscription passando o parâmetro AddOption.CreateDatabase.

    repl.AddSubscription(AddOption.CreateDatabase);
    

Exemplo

Este exemplo mostra como criar um novo banco de dados criando um objeto Replication, configurando as propriedades do banco de dados e da assinatura, e chamando o método AddSubscription.

SqlCeReplication repl = null;
        try
        {
            // Instantiate and configure SqlCeReplication object
            //
            repl = new SqlCeReplication();
            repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.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 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/sqlcesa35.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 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

Consulte também

Outros recursos

Usando a replicação de mesclagem