Share via


MergeSubscription Konstruktoren

Definition

Erstellt eine neue Instanz der MergeSubscription-Klasse.

Überlädt

MergeSubscription()

Erstellt eine neue Instanz der MergeSubscription-Klasse.

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

Erstellt eine neue Instanz der MergeSubscription-Klasse mit der angegebenen Verbindung zum Verleger und den Eigenschaften, mit denen das Abonnement eindeutig definiert wird.

Hinweise

Text aktualisiert:17. Juli 2006

Die folgende Tabelle zeigt die Standardeigenschaftenwerte für eine neue Instanz von MergeSubscription. Alle Eigenschaften, die in dieser Tabelle nicht explizit aufgelistet sind, werden zu einem null Wert initialisiert.

Eigenschaft Standardwert
AgentOffload false
AgentSchedule Ein Wert von 99991231 für ActiveEndDate

Ein Wert von 235959 für ActiveEndTime

Der Wert 0 für ActiveStartDate

Der Wert 0 für ActiveStartTime

Ein Wert von 1 für FrequencyInterval

Der Wert 0 für FrequencyRecurrenceFactor

Ein Wert von First für FrequencyRelativeInterval

Ein Wert von Hour für FrequencySubDay

Ein Wert von 1 für FrequencySubDayInterval

Ein Wert von Daily für FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity Ein Wert von true für WindowsAuthentication
Status Ein Wert von Inactive für SubscriptionState
SubscriberSecurity Ein Wert von true für WindowsAuthentication
SubscriberType Ein Wert von Local für MergeSubscriberType
SubscriptionType Ein Wert von Push für SubscriptionOption
SynchronizationAgent Eine Instanz von MergeSynchronizationAgent aus der Veröffentlichung, die dem von Ihnen erstellten Abonnement zugeordnet ist.
SyncType Ein Wert von Automatic für SubscriptionSyncType
UseInteractiveResolver false

MergeSubscription()

Erstellt eine neue Instanz der MergeSubscription-Klasse.

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

Beispiele

// 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

Hinweise

Der Standardkonstruktor initialisiert die Felder zu ihren Standardwerten.

Weitere Informationen

Gilt für:

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

Erstellt eine neue Instanz der MergeSubscription-Klasse mit der angegebenen Verbindung zum Verleger und den Eigenschaften, mit denen das Abonnement eindeutig definiert wird.

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)

Parameter

publicationName
String

Ein String-Wert, der den Namen der Mergeveröffentlichung angibt.

databaseName
String

Ein String-Wert, der den Namen der Datenbank angibt, die die Veröffentlichung enthält.

subscriberName
String

Ein String-Wert, der den Namen des Abonnenten angibt, der die Veröffentlichung abonniert.

subscriptionDBName
String

Ein String Wert, der den Namen der Abonnementdatenbank angibt.

connectionContext
ServerConnection

Ein ServerConnection-Objektwert, der die Verbindung mit dem Verleger angibt.

Gilt für: