Compartilhar via


TransPullSubscription Construtores

Definição

Cria uma nova instância da classe TransPullSubscription.

Sobrecargas

TransPullSubscription()

Cria uma nova instância da classe TransPullSubscription.

TransPullSubscription(String, String, String, String, ServerConnection)

Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull.

TransPullSubscription(String, String, String, String, ServerConnection, Boolean)

Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull e define se o trabalho de agente deve ser criado para 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 de TransPullSubscription. 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 da data de criação da assinatura para ActiveStartDate

Um valor de 0 para ActiveStartTime

Um valor de 0 para FrequencyInterval

Um valor de 0 para FrequencyRecurrenceFactor

Um valor de 0 para FrequencySubDayInterval

Um valor de Continuously para FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault false
DistributorSecurity Um valor de true para WindowsAuthentication
EnabledForSynchronizationManager false
IsExistingObject false
SubscriberSecurity Um valor de true para WindowsAuthentication
SubscriberType Um valor de ReadOnly para TransSubscriberType
SubscriptionType Um valor de Pull para SubscriptionOption
SynchronizationAgent Uma instância da TransSynchronizationAgent publicação associada à assinatura que você cria.
Type Um valor de Transactional para PublicationType
UseFtp false

TransPullSubscription()

Cria uma nova instância da classe TransPullSubscription.

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

Exemplos

// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorks2012Replica";
string publicationDbName = "AdventureWorks2012";

//Create connections to the Publisher and Subscriber.
ServerConnection subscriberConn = new ServerConnection(subscriberName);
ServerConnection publisherConn = new ServerConnection(publisherName);

// Create the objects that we need.
TransPublication publication;
TransPullSubscription subscription;

try
{
    // Connect to the Publisher and Subscriber.
    subscriberConn.Connect();
    publisherConn.Connect();

    // Ensure that the publication exists and that 
    // it supports pull subscriptions.
    publication = new TransPublication();
    publication.Name = publicationName;
    publication.DatabaseName = publicationDbName;
    publication.ConnectionContext = publisherConn;

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

        // Define the pull subscription.
        subscription = new TransPullSubscription();
        subscription.ConnectionContext = subscriberConn;
        subscription.PublisherName = publisherName;
        subscription.PublicationName = publicationName;
        subscription.PublicationDBName = publicationDbName;
        subscription.DatabaseName = subscriptionDbName;

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

        // Make sure that the agent job for the subscription is created.
        subscription.CreateSyncAgentByDefault = true;

        // By default, subscriptions to transactional publications are synchronized 
        // continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;

        // Create the pull subscription at the Subscriber.
        subscription.Create();

        Boolean registered = false;

        // Verify that the subscription is not already registered.
        foreach (TransSubscription existing
            in publication.EnumSubscriptions())
        {
            if (existing.SubscriberName == subscriberName
                && existing.SubscriptionDBName == subscriptionDbName)
            {
                registered = true;
            }
        }
        if (!registered)
        {
            // Register the subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown(
                subscriberName, subscriptionDbName,
                SubscriptionSyncType.Automatic,
                TransSubscriberType.ReadOnly);
        }
    }
    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
{
    subscriberConn.Disconnect();
    publisherConn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

'Create connections to the Publisher and Subscriber.
Dim subscriberConn As ServerConnection = New ServerConnection(subscriberName)
Dim publisherConn As ServerConnection = New ServerConnection(publisherName)

' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransPullSubscription

Try
    ' Connect to the Publisher and Subscriber.
    subscriberConn.Connect()
    publisherConn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports pull subscriptions.
    publication = New TransPublication()
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName
    publication.ConnectionContext = publisherConn

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

        ' Define the pull subscription.
        subscription = New TransPullSubscription()
        subscription.ConnectionContext = subscriberConn
        subscription.PublisherName = publisherName
        subscription.PublicationName = publicationName
        subscription.PublicationDBName = publicationDbName
        subscription.DatabaseName = subscriptionDbName
        subscription.Description = "Pull subscription to " + publicationDbName _
        + " on " + subscriberName + "."

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

        ' Make sure that the agent job for the subscription is created.
        subscription.CreateSyncAgentByDefault = True

        ' By default, subscriptions to transactional publications are synchronized 
        ' continuously, but in this case we only want to synchronize on demand.
        subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand

        ' Create the pull subscription at the Subscriber.
        subscription.Create()

        Dim registered As Boolean = False

        ' Verify that the subscription is not already registered.
        For Each existing As TransSubscription In publication.EnumSubscriptions()
            If existing.SubscriberName = subscriberName And _
                existing.SubscriptionDBName = subscriptionDbName Then
                registered = True
            End If
        Next existing
        If Not registered Then
            ' Register the subscription with the Publisher.
            publication.MakePullSubscriptionWellKnown( _
             subscriberName, subscriptionDbName, _
             SubscriptionSyncType.Automatic, _
             TransSubscriberType.ReadOnly)
        End If
    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
    subscriberConn.Disconnect()
    publisherConn.Disconnect()
End Try

Comentários

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

Aplica-se a

TransPullSubscription(String, String, String, String, ServerConnection)

Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull.

public:
 TransPullSubscription(System::String ^ subscriptionDBName, System::String ^ publisherName, System::String ^ publicationDBName, System::String ^ publicationName, Microsoft::SqlServer::Management::Common::ServerConnection ^ subscriberConnectionContext);
public TransPullSubscription (string subscriptionDBName, string publisherName, string publicationDBName, string publicationName, Microsoft.SqlServer.Management.Common.ServerConnection subscriberConnectionContext);
new Microsoft.SqlServer.Replication.TransPullSubscription : string * string * string * string * Microsoft.SqlServer.Management.Common.ServerConnection -> Microsoft.SqlServer.Replication.TransPullSubscription
Public Sub New (subscriptionDBName As String, publisherName As String, publicationDBName As String, publicationName As String, subscriberConnectionContext As ServerConnection)

Parâmetros

subscriptionDBName
String

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

publisherName
String

Um String valor que especifica o nome do Publicador.

publicationDBName
String

Um valor String que especifica o nome do banco de dados de publicação.

publicationName
String

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

subscriberConnectionContext
ServerConnection

Um objeto ServerConnection que especifica a conexão do Assinante.

Aplica-se a

TransPullSubscription(String, String, String, String, ServerConnection, Boolean)

Cria uma nova instância da classe TransPullSubscription com as propriedades que definem uma assinatura pull e define se o trabalho de agente deve ser criado para a assinatura.

public:
 TransPullSubscription(System::String ^ subscriptionDBName, System::String ^ publisherName, System::String ^ publicationDBName, System::String ^ publicationName, Microsoft::SqlServer::Management::Common::ServerConnection ^ subscriberConnectionContext, bool createDistributionAgentByDefault);
public TransPullSubscription (string subscriptionDBName, string publisherName, string publicationDBName, string publicationName, Microsoft.SqlServer.Management.Common.ServerConnection subscriberConnectionContext, bool createDistributionAgentByDefault);
new Microsoft.SqlServer.Replication.TransPullSubscription : string * string * string * string * Microsoft.SqlServer.Management.Common.ServerConnection * bool -> Microsoft.SqlServer.Replication.TransPullSubscription
Public Sub New (subscriptionDBName As String, publisherName As String, publicationDBName As String, publicationName As String, subscriberConnectionContext As ServerConnection, createDistributionAgentByDefault As Boolean)

Parâmetros

subscriptionDBName
String

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

publisherName
String

Um String valor que especifica o nome do Publicador.

publicationDBName
String

Um valor String que especifica o nome do banco de dados de publicação.

publicationName
String

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

subscriberConnectionContext
ServerConnection

Um objeto ServerConnection que especifica a conexão do Assinante.

createDistributionAgentByDefault
Boolean

Um valor Boolean que indica se o trabalho do Agente de Distribuição será criado para sincronizar a assinatura.

Aplica-se a