Compartilhar via


MergeSubscription Construtores

Definição

Cria uma nova instância da classe MergeSubscription.

Sobrecargas

MergeSubscription()

Cria uma nova instância da classe MergeSubscription.

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

Cria uma nova instância da classe MergeSubscription com a conexão especificada com o Publicador e as propriedades que definem exclusivamente a assinatura.

Comentários

Texto atualizado:17 julho de 2006

A tabela a seguir mostra os valores de propriedade padrão para uma nova instância do MergeSubscription. Todas as propriedades que não são explicitamente enumeradas nesta tabela são inicializadas para um null valor.

Propriedade Valor padrão
AgentOffload false
AgentSchedule Um valor de 99991231 para ActiveEndDate

Um valor de 235959 para ActiveEndTime

Um valor de 0 para ActiveStartDate

Um valor de 0 para ActiveStartTime

Um valor de 1 para FrequencyInterval

Um valor de 0 para FrequencyRecurrenceFactor

Um valor de First para FrequencyRelativeInterval

Um valor de Hour para FrequencySubDay

Um valor de 1 para FrequencySubDayInterval

Um valor de Daily para FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity Um valor de true para WindowsAuthentication
Status Um valor de Inactive para SubscriptionState
SubscriberSecurity Um valor de true para WindowsAuthentication
SubscriberType Um valor de Local para MergeSubscriberType
SubscriptionType Um valor de Push para SubscriptionOption
SynchronizationAgent Uma instância do MergeSynchronizationAgent da publicação associada à assinatura que você cria.
SyncType Um valor de Automatic para SubscriptionSyncType
UseInteractiveResolver false

MergeSubscription()

Cria uma nova instância da classe MergeSubscription.

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

Exemplos

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

Comentários

O construtor padrão inicializa quaisquer campos com seus valores padrão.

Confira também

Aplica-se a

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

Cria uma nova instância da classe MergeSubscription com a conexão especificada com o Publicador e as propriedades que definem exclusivamente a assinatura.

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)

Parâmetros

publicationName
String

Um valor String que especifica o nome da publicação de mesclagem.

databaseName
String

Um valor String que especifica o nome do banco de dados que contém a publicação.

subscriberName
String

Um valor String que especifica o nome do Assinante da publicação.

subscriptionDBName
String

Um String valor que especifica o nome do banco de dados de assinatura.

connectionContext
ServerConnection

Um valor do objeto ServerConnection que especifica a conexão com o Publicador.

Aplica-se a