Partager via


MergeSubscription Constructeurs

Définition

Crée une instance de la classe MergeSubscription.

Surcharges

MergeSubscription()

Crée une instance de la classe MergeSubscription.

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

Crée une nouvelle instance de la classe MergeSubscription avec la connexion spécifiée au serveur de publication et les propriétés qui définissent de façon unique l'abonnement.

Remarques

Texte mis à jour :17 juillet 2006

Le tableau suivant montre les valeurs de propriété par défaut d’une nouvelle instance de MergeSubscription. Toutes les propriétés qui ne sont pas explicitement énumérées dans cette table sont initialisées en une null valeur.

Propriété Valeur par défaut
AgentOffload false
AgentSchedule Valeur de 99991231 pour ActiveEndDate

Valeur de 235959 pour ActiveEndTime

Valeur 0 pour ActiveStartDate

Valeur 0 pour ActiveStartTime

Valeur 1 pour FrequencyInterval

Valeur 0 pour FrequencyRecurrenceFactor

Valeur de First for FrequencyRelativeInterval

Valeur de Hour for FrequencySubDay

Valeur 1 pour FrequencySubDayInterval

Valeur de Daily for FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity Valeur de true for WindowsAuthentication
Status Valeur de Inactive for SubscriptionState
SubscriberSecurity Valeur de true for WindowsAuthentication
SubscriberType Valeur de Local for MergeSubscriberType
SubscriptionType Valeur de Push for SubscriptionOption
SynchronizationAgent Instance de MergeSynchronizationAgent de la composition associée à l’abonnement que vous créez.
SyncType Valeur de Automatic for SubscriptionSyncType
UseInteractiveResolver false

MergeSubscription()

Crée une instance de la classe MergeSubscription.

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

Exemples

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

Remarques

Le constructeur par défaut rétablit les valeurs par défaut de tous les champs.

Voir aussi

S’applique à

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

Crée une nouvelle instance de la classe MergeSubscription avec la connexion spécifiée au serveur de publication et les propriétés qui définissent de façon unique l'abonnement.

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)

Paramètres

publicationName
String

Valeur String qui spécifie le nom de la publication de fusion.

databaseName
String

Valeur String qui spécifie le nom de la base de données qui contient la publication.

subscriberName
String

Valeur String qui spécifie le nom de l'Abonné qui s'abonne à la publication.

subscriptionDBName
String

Valeur String qui spécifie le nom de la base de données d’abonnement.

connectionContext
ServerConnection

Valeur d'objet ServerConnection qui spécifie la connexion au serveur de publication.

S’applique à