Udostępnij za pośrednictwem


TransSubscription Constructors

Definition

Creates a new instance of the TransSubscription class.

Overloads

TransSubscription()

Creates a new instance of the TransSubscription class.

TransSubscription(String, String, String, String, ServerConnection)

Creates a new instance of the TransSubscription class with the specified publication, database, Subscriber, and subscriber database, and with the specified connection to the instance of Microsoft SQL Server.

Remarks

Updated text: 17 July 2006

The following table shows the default property values for a new instance of TransSubscription. Any properties that are not explicitly enumerated in this table are initialized to a null value.

Property Default value
AgentOffload false
AgentSchedule A value of 99991231 for ActiveEndDate

A value of 235959 for ActiveEndTime

A value of 0 for ActiveStartDate

A value of 0 for ActiveStartTime

A value of 1 for FrequencyInterval

A value of 0 for FrequencyRecurrenceFactor

A value of First for FrequencyRelativeInterval

A value of Minute for FrequencySubDay

A value of 5 for FrequencySubDayInterval

A value of Continuously for FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
FullSubscription true
IsExistingObject false
LoopBackDetection true
Status A value of Inactive for SubscriptionState
SubscriberDatasourceType A value of SqlServer for SubscriberType
SubscriberSecurity A value of true for WindowsAuthentication
SubscriberType A value of ReadOnly for TransSubscriberType
SubscriptionType A value of Push for SubscriptionOption
SynchronizationAgent An instance of TransSynchronizationAgent from the publication that is associated with the subscription you create.
SyncType A value of Automatic for SubscriptionSyncType

TransSubscription()

Creates a new instance of the TransSubscription class.

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

Examples

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

           //Create a connection to the Publisher.
           ServerConnection conn = new ServerConnection(publisherName);

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

           try
           {
               // Connect to the Publisher.
               conn.Connect();

               // Ensure that the publication exists and that 
               // it supports push subscriptions.
               publication = new TransPublication();
               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 TransSubscription();
                   subscription.ConnectionContext = conn;
                   subscription.SubscriberName = subscriberName;
                   subscription.PublicationName = publicationName;
                   subscription.DatabaseName = publicationDbName;
                   subscription.SubscriptionDBName = subscriptionDbName;

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

                   // 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 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 = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorks2012Replica"
Dim publicationDbName As String = "AdventureWorks2012"

'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)

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

Try
    ' Connect to the Publisher.
    conn.Connect()

    ' Ensure that the publication exists and that 
    ' it supports push subscriptions.
    publication = New TransPublication()
    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 TransSubscription()
        subscription.ConnectionContext = conn
        subscription.SubscriberName = subscriberName
        subscription.PublicationName = publicationName
        subscription.DatabaseName = publicationDbName
        subscription.SubscriptionDBName = subscriptionDbName

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

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

Remarks

The default constructor initializes any fields to their default values.

See also

Applies to

TransSubscription(String, String, String, String, ServerConnection)

Creates a new instance of the TransSubscription class with the specified publication, database, Subscriber, and subscriber database, and with the specified connection to the instance of Microsoft SQL Server.

public:
 TransSubscription(System::String ^ publicationName, System::String ^ databaseName, System::String ^ subscriberName, System::String ^ subscriptionDBName, Microsoft::SqlServer::Management::Common::ServerConnection ^ connectionContext);
public TransSubscription (string publicationName, string databaseName, string subscriberName, string subscriptionDBName, Microsoft.SqlServer.Management.Common.ServerConnection connectionContext);
new Microsoft.SqlServer.Replication.TransSubscription : string * string * string * string * Microsoft.SqlServer.Management.Common.ServerConnection -> Microsoft.SqlServer.Replication.TransSubscription
Public Sub New (publicationName As String, databaseName As String, subscriberName As String, subscriptionDBName As String, connectionContext As ServerConnection)

Parameters

publicationName
String

A String value that specifies the name of the transactional or snapshot publication.

databaseName
String

A String value that specifies the name of the database that contains the publication, or the name of the distribution database for a non-SQL Server Publisher.

subscriberName
String

A String value that specifies the name of the Subscriber.

subscriptionDBName
String

A String value that specifies the name of the subscription database.

connectionContext
ServerConnection

A ServerConnection object that represents a connection to the Publisher or to the Distributor for a subscription to a non-SQL Server Publisher.

Applies to