Condividi tramite


TransSubscription Costruttori

Definizione

Crea una nuova istanza della classe TransSubscription.

Overload

TransSubscription()

Crea una nuova istanza della classe TransSubscription.

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

Crea una nuova istanza della TransSubscription classe con la pubblicazione, il database, il Sottoscrittore e il database sottoscrittore specificati e con la connessione specificata all'istanza di Microsoft SQL Server.

Commenti

Testo aggiornato:17 luglio 2006

Nella tabella seguente vengono illustrati i valori predefiniti delle proprietà per una nuova istanza di TransSubscription. Tutte le proprietà non enumerate in modo esplicito in questa tabella vengono inizializzate in un null valore.

Proprietà Valore predefinito
AgentOffload false
AgentSchedule Un valore 99991231 per ActiveEndDate

Valore di 235959 per ActiveEndTime

Valore 0 per ActiveStartDate

Valore 0 per ActiveStartTime

Valore 1 per FrequencyInterval

Valore 0 per FrequencyRecurrenceFactor

Valore di First per FrequencyRelativeInterval

Valore di Minute per FrequencySubDay

Valore 5 per FrequencySubDayInterval

Valore di Continuously per FrequencyType
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
FullSubscription true
IsExistingObject false
LoopBackDetection true
Status Valore di Inactive per SubscriptionState
SubscriberDatasourceType Valore di SqlServer per SubscriberType
SubscriberSecurity Valore di true per WindowsAuthentication
SubscriberType Valore di ReadOnly per TransSubscriberType
SubscriptionType Valore di Push per SubscriptionOption
SynchronizationAgent Istanza di TransSynchronizationAgent dalla pubblicazione associata alla sottoscrizione creata.
SyncType Valore di Automatic per SubscriptionSyncType

TransSubscription()

Crea una nuova istanza della classe TransSubscription.

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

Esempio

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

Commenti

Il costruttore predefinito inizializza tutti i campi in base ai valori predefiniti.

Vedi anche

Si applica a

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

Crea una nuova istanza della TransSubscription classe con la pubblicazione, il database, il Sottoscrittore e il database sottoscrittore specificati e con la connessione specificata all'istanza di 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)

Parametri

publicationName
String

Valore String che specifica il nome della pubblicazione transazionale o snapshot.

databaseName
String

Valore String che specifica il nome del database che contiene la pubblicazione o il nome del database di distribuzione per un server di pubblicazione non SQL Server.

subscriberName
String

Valore String che specifica il nome del Sottoscrittore.

subscriptionDBName
String

Valore String che specifica il nome del database di sottoscrizione.

connectionContext
ServerConnection

Oggetto ServerConnection che rappresenta una connessione al server di pubblicazione o al server di distribuzione per una sottoscrizione a un server di pubblicazione non SQL Server.

Si applica a