MergeSubscription Конструкторы

Определение

Создает новый экземпляр класса MergeSubscription.

Перегрузки

MergeSubscription()

Создает новый экземпляр класса MergeSubscription.

MergeSubscription(String, String, String, String, ServerConnection)

Создает новый экземпляр класса MergeSubscription с указанными соединением с издателем и свойствами, которые однозначно определяют подписку.

Комментарии

Текст обновлен:17 июля 2006 г.

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

Свойство Значение по умолчанию
AgentOffload false
AgentSchedule Значение 99991231 для ActiveEndDate

Значение 235959 для ActiveEndTime

Значение 0 для ActiveStartDate

Значение 0 для ActiveStartTime

Значение 1 для FrequencyInterval

Значение 0 для FrequencyRecurrenceFactor

Значение для FirstFrequencyRelativeInterval

Значение для HourFrequencySubDay

Значение 1 для FrequencySubDayInterval

Значение для DailyFrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity Значение для trueWindowsAuthentication
Status Значение для InactiveSubscriptionState
SubscriberSecurity Значение для trueWindowsAuthentication
SubscriberType Значение для LocalMergeSubscriberType
SubscriptionType Значение для PushSubscriptionOption
SynchronizationAgent Экземпляр из публикации MergeSynchronizationAgent , связанной с создаваемой подпиской.
SyncType Значение для AutomaticSubscriptionSyncType
UseInteractiveResolver false

MergeSubscription()

Создает новый экземпляр класса MergeSubscription.

public:
 MergeSubscription();
public MergeSubscription ();
Public Sub New ()

Примеры

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksSalesOrdersMerge";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";
string hostname = @"adventure-works\garrett1";

//Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);

// Create the objects that we need.
MergePublication publication;
MergeSubscription subscription;

try
{
    // Connect to the Publisher.
    conn.Connect();

    // Ensure that the publication exists and that 
    // it supports push subscriptions.
    publication = new MergePublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = conn;

    if (publication.IsExistingObject)
    {
        if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
        {
            publication.Attributes |= PublicationAttributes.AllowPush;
        }

        // Define the push subscription.
        subscription = new MergeSubscription();
        subscription.ConnectionContext = conn;
        subscription.SubscriberName = subscriberName;
        subscription.PublicationName = publicationName;
        subscription.DatabaseName = publicationDbName;
        subscription.SubscriptionDBName = subscriptionDbName;
        subscription.HostName = hostname;

        // Set a schedule to synchronize the subscription every 2 hours
        // during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly;
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32(0x003E);
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1;
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour;
        subscription.AgentSchedule.FrequencySubDayInterval = 2;
        subscription.AgentSchedule.ActiveStartDate = 20051108;
        subscription.AgentSchedule.ActiveEndDate = 20071231;
        subscription.AgentSchedule.ActiveStartTime = 060000;
        subscription.AgentSchedule.ActiveEndTime = 100000;

        // Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword;

        // Create the push subscription.
        subscription.Create();
    }
    else
    {
        // Do something here if the publication does not exist.
        throw new ApplicationException(String.Format(
            "The publication '{0}' does not exist on {1}.",
            publicationName, publisherName));
    }
}
catch (Exception ex)
{
    // Implement the appropriate error handling here.
    throw new ApplicationException(String.Format(
        "The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
    conn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"
Dim hostname As String = "adventure-works\garrett1"

'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As MergePublication
Dim subscription As MergeSubscription

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New MergePublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = conn

    If publication.IsExistingObject Then
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Define the push subscription.
        subscription = New MergeSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName
        subscription.HostName = hostname

        ' Set a schedule to synchronize the subscription every 2 hours
        ' during weekdays from 6am to 10pm.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.Weekly
        subscription.AgentSchedule.FrequencyInterval = Convert.ToInt32("0x003E", 16)
        subscription.AgentSchedule.FrequencyRecurrenceFactor = 1
        subscription.AgentSchedule.FrequencySubDay = ScheduleFrequencySubDay.Hour
        subscription.AgentSchedule.FrequencySubDayInterval = 2
        subscription.AgentSchedule.ActiveStartDate = 20051108
        subscription.AgentSchedule.ActiveEndDate = 20071231
        subscription.AgentSchedule.ActiveStartTime = 60000
        subscription.AgentSchedule.ActiveEndTime = 100000

        ' Specify the Windows login credentials for the Merge Agent job.
        subscription.SynchronizationAgentProcessSecurity.Login = winLogin
        subscription.SynchronizationAgentProcessSecurity.Password = winPassword

        ' Create the push subscription.
        subscription.Create()
    Else

        ' Do something here if the publication does not exist.
        Throw New ApplicationException(String.Format( _
         "The publication '{0}' does not exist on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here.
    Throw New ApplicationException(String.Format( _
    "The subscription to {0} could not be created.", publicationName), ex)
Finally
    conn.Disconnect()
End Try

Комментарии

Используемый по умолчанию конструктор инициализирует все поля в значения, установленные для них по умолчанию.

См. также раздел

Применяется к

MergeSubscription(String, String, String, String, ServerConnection)

Создает новый экземпляр класса MergeSubscription с указанными соединением с издателем и свойствами, которые однозначно определяют подписку.

public:
 MergeSubscription(System::String ^ publicationName, System::String ^ databaseName, System::String ^ subscriberName, System::String ^ subscriptionDBName, Microsoft::SqlServer::Management::Common::ServerConnection ^ connectionContext);
public MergeSubscription (string publicationName, string databaseName, string subscriberName, string subscriptionDBName, Microsoft.SqlServer.Management.Common.ServerConnection connectionContext);
new Microsoft.SqlServer.Replication.MergeSubscription : string * string * string * string * Microsoft.SqlServer.Management.Common.ServerConnection -> Microsoft.SqlServer.Replication.MergeSubscription
Public Sub New (publicationName As String, databaseName As String, subscriberName As String, subscriptionDBName As String, connectionContext As ServerConnection)

Параметры

publicationName
String

Значение типа String, указывающее имя публикации слиянием.

databaseName
String

Значение String, указывающее имя базы данных, содержащей публикацию.

subscriberName
String

Значение String, указывающее имя подписчика, подписывающегося на публикацию.

subscriptionDBName
String

Значение типа String, указывающее имя базы данных подписки.

connectionContext
ServerConnection

Значение объекта ServerConnection, указывающее соединение с издателем.

Применяется к