Condividi tramite


Procedura: Creazione di un database tramite l'oggetto Replication (a livello di programmazione)

In questo argomento verrà illustrato come creare a livello di programmazione un database di Microsoft SQL Server Compact 3.5 chiamando il metodo AddSubscription dell'oggetto SqlServerCe.Replication. Per ulteriori informazioni sull'utilizzo dello spazio dei nomi SqlServerCe, vedere la documentazione di riferimento dello spazio dei nomi SqlServerCe.

Procedure per SQL Server Compact 3.5

Per creare un database utilizzando l'oggetto Replication

  1. Inizializzare un nuovo oggetto Replication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Impostare le proprietà dell'oggetto Replication. Queste proprietà possono includere le informazioni necessarie per la connessione al server di pubblicazione di SQL Server. La proprietà SubscriberConnectionString specifica il nome di file e il percorso del database che verrà creato.

    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. Chiamare il metodo AddSubscription passando il parametro AddOption.CreateDatabase.

    repl.AddSubscription(AddOption.CreateDatabase);
    

Per creare un database con distinzione tra maiuscole e minuscole tramite l'oggetto Replication

  1. Inizializzare un nuovo oggetto Replication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Impostare le proprietà dell'oggetto Replication. Queste proprietà possono includere le informazioni necessarie per la connessione al server di pubblicazione di SQL Server. La proprietà SubscriberConnectionString specifica il nome di file e il percorso del database che verrà creato. La proprietà SubscriberConnectionString, inoltre, supporta la nuova proprietà "Case sensitive", che viene utilizzata per creare un database di sottoscrizione con distinzione tra maiuscole e minuscole. Per ulteriori informazioni sui database con distinzione tra maiuscole e minuscole, vedere Utilizzo delle regole di confronto (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. Chiamare il metodo AddSubscription passando il parametro AddOption.CreateDatabase.

    repl.AddSubscription(AddOption.CreateDatabase);
    

Esempio

Nell'esempio seguente viene illustrato come creare un nuovo database creando un oggetto Replication, impostando le proprietà per database e sottoscrizione e quindi chiamando il metodo 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

Vedere anche

Altre risorse

Utilizzo della replica di tipo merge