다음을 통해 공유


MergeSubscription 생성자

정의

MergeSubscription 클래스의 새 인스턴스를 만듭니다.

오버로드

MergeSubscription()

MergeSubscription 클래스의 새 인스턴스를 만듭니다.

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

게시자에 대한 지정된 연결 및 구독을 고유하게 정의하는 속성을 사용하여 MergeSubscription 클래스의 새 인스턴스를 만듭니다.

설명

업데이트된 텍스트:2006년 7월 17일

다음 표에는 의 새 인스턴스에 대한 기본 속성 값이 나와 있습니다 MergeSubscription. 이 테이블에서 명시적으로 열거되지 않은 모든 속성은 값으로 null 초기화됩니다.

속성 기본값
AgentOffload false
AgentSchedule 에 대한 99991231 값입니다. ActiveEndDate

에 대한 235959 값입니다. ActiveEndTime

의 값은 0입니다. ActiveStartDate

의 값은 0입니다. ActiveStartTime

의 값은 1입니다. FrequencyInterval

의 값은 0입니다. FrequencyRecurrenceFactor

의 값입니다 First . FrequencyRelativeInterval

의 값입니다 Hour . FrequencySubDay

의 값은 1입니다. FrequencySubDayInterval

의 값입니다 Daily . FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity 의 값입니다 true . WindowsAuthentication
Status 의 값입니다 Inactive . SubscriptionState
SubscriberSecurity 의 값입니다 true . WindowsAuthentication
SubscriberType 의 값입니다 Local . MergeSubscriberType
SubscriptionType 의 값입니다 Push . SubscriptionOption
SynchronizationAgent 만든 구독과 연결된 게시의 인스턴스 MergeSynchronizationAgent 입니다.
SyncType 의 값입니다 Automatic . SubscriptionSyncType
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 개체 값입니다.

적용 대상