TransSubscription 构造函数

定义

创建 TransSubscription 类的新实例。

重载

TransSubscription()

创建 TransSubscription 类的新实例。

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

使用指定的发布、数据库、订阅服务器和订阅服务器数据库以及与 Microsoft SQL Server 实例的指定连接创建 类的新实例TransSubscription

注解

更新的文本:2006 年 7 月 17 日

下表显示了 的新实例 TransSubscription的默认属性值。 此表中未显式枚举的任何属性都初始化为值 null

properties 默认值
AgentOffload false
AgentSchedule 的 99991231 值 ActiveEndDate

的 235959 值 ActiveEndTime

的 值为 0 ActiveStartDate

的 值为 0 ActiveStartTime

的值为 1 FrequencyInterval

的 值为 0 FrequencyRecurrenceFactor

的 值为FirstFrequencyRelativeInterval

的 值为MinuteFrequencySubDay

的值为 5 FrequencySubDayInterval

的 值为ContinuouslyFrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
FullSubscription true
IsExistingObject false
LoopBackDetection true
Status 的 值为InactiveSubscriptionState
SubscriberDatasourceType 的 值为SqlServerSubscriberType
SubscriberSecurity 的 值为trueWindowsAuthentication
SubscriberType 的 值为ReadOnlyTransSubscriberType
SubscriptionType 的 值为PushSubscriptionOption
SynchronizationAgent 与所创建的订阅关联的发布的 的实例 TransSynchronizationAgent
SyncType 的 值为AutomaticSubscriptionSyncType

TransSubscription()

创建 TransSubscription 类的新实例。

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

示例

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

注解

默认构造函数将所有字段初始化为其默认值。

另请参阅

适用于

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

使用指定的发布、数据库、订阅服务器和订阅服务器数据库以及与 Microsoft SQL Server 实例的指定连接创建 类的新实例TransSubscription

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)

参数

publicationName
String

一个指定事务发布或快照发布的名称的 String 值。

databaseName
String

一个 String 值,该值指定包含发布的数据库的名称,或非SQL Server发布服务器的分发数据库的名称。

subscriberName
String

一个 String 值,该值指定订阅服务器的名称。

subscriptionDBName
String

一个 String 指定订阅数据库名称的 值。

connectionContext
ServerConnection

一个 ServerConnection 对象,表示与非SQL Server发布服务器的订阅的发布服务器或分发服务器的连接。

适用于