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


Метод AddSubscription

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

Пространство имен:  System.Data.SqlServerCe
Сборка:  System.Data.SqlServerCe (в System.Data.SqlServerCe.dll)

Синтаксис

'Декларация
Public Sub AddSubscription ( _
    addOption As AddOption _
)
'Применение
Dim instance As SqlCeReplication
Dim addOption As AddOption

instance.AddSubscription(addOption)
public void AddSubscription(
    AddOption addOption
)
public:
void AddSubscription(
    AddOption addOption
)
member AddSubscription : 
        addOption:AddOption -> unit 
public function AddSubscription(
    addOption : AddOption
)

Параметры

Замечания

Репликация в SQL Server Compact 3.5 поддерживает только анонимные подписки.

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

Значение AddOption определяет источник для недавно созданной базы данных подписки SQL Server Compact 3.5. Значением может быть одна из следующих констант:

Значение

Описание

CreateDatabase

Указывает, что сначала необходимо создать базу данных SQL Server Compact 3.5, а затем через сеть получить содержимое подписки от издателя. В этом случае вызовы методов AddSubscription и Synchronize необходимы для создания базы данных SQL Server Compact 3.5 и загрузки ее содержимого от издателя SQL Server.

ExistingDatabase

Указывает, что база данных уже существует, но ее содержимое необходимо через сеть получить от издателя. В этом случае вызовы методов AddSubscription и Synchronize необходимы для создания подписки SQL Server Compact 3.5 и загрузки содержимого базы данных от издателя SQL Server.

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

Примеры

В следующем примере новая база данных подписки создается путем передачи значения CreateDatabase из перечисления AddOption при вызове метода AddSubscription.

Dim repl As SqlCeReplication = Nothing

Try
    ' Instantiate and configure SqlCeReplication object
    '
    'NOTE: when possible, prompt users to enter security 
    'credentials at runtime. If you store credentials in a file, 
    'you must secure the file to prevent unauthorized access.
    '
    repl = New SqlCeReplication()
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll"
    repl.InternetLogin = "MyInternetLogin"
    repl.InternetPassword = "<enterStrongPassword>"
    repl.Publisher = "MyPublisher"
    repl.PublisherDatabase = "MyPublisherDatabase"
    repl.PublisherLogin = "MyPublisherLogin"
    repl.PublisherPassword = "<enterStrongPassword>"
    repl.Publication = "MyPublication"
    repl.Subscriber = "MySubscriber"
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"

    ' Create the local SQL Mobile 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
SqlCeReplication repl = null;

try
{
    // Instantiate and configure SqlCeReplication object
    //
    //NOTE: when possible, prompt users to enter security 
    //credentials at runtime. If you store credentials in a file, 
    //you must secure the file to prevent unauthorized access.
    //
    repl = new SqlCeReplication();
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll";
    repl.InternetLogin = "MyInternetLogin";
    repl.InternetPassword = "<enterStrongPassword>";
    repl.Publisher = "MyPublisher";
    repl.PublisherDatabase = "MyPublisherDatabase";
    repl.PublisherLogin = "MyPublisherLogin";
    repl.PublisherPassword = "<enterStrongPassword>";
    repl.Publication = "MyPublication";
    repl.Subscriber = "MySubscriber";
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";

    // Create a local SQL Mobile 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();
}

См. также

Справочник

SqlCeReplication Класс

Элементы SqlCeReplication

Пространство имен System.Data.SqlServerCe