MergeSubscription コンストラクター

定義

MergeSubscription クラスの新しいインスタンスを作成します。

オーバーロード

MergeSubscription()

MergeSubscription クラスの新しいインスタンスを作成します。

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

指定したパブリッシャーへの接続、およびサブスクリプションを一意に定義するプロパティを使用して、MergeSubscription クラスの新しいインスタンスを作成します。

注釈

更新されたテキスト:2006 年 7 月 17 日

次の表に、MergeSubscription の新しいインスタンスに使用される既定のプロパティ値を示します。 この表に明示されていないプロパティは、null 値に初期化されます。

プロパティ 既定値
AgentOffload false
AgentSchedule 99991231 の値 ActiveEndDate

235959 の値 ActiveEndTime

の値は 0 です。 ActiveStartDate

の値は 0 です。 ActiveStartTime

FrequencyInterval の場合、値 1 になります。

の値は 0 です。 FrequencyRecurrenceFactor

FrequencyRelativeInterval の場合、値 First になります。

FrequencySubDay の場合、値 Hour になります。

FrequencySubDayInterval の場合、値 1 になります。

FrequencyType の場合、値 Daily になります。
CachePropertyChanges false
CreateSyncAgentByDefault true
EnabledForSynchronizationManager false
IsExistingObject false
Priority 0
PublisherSecurity WindowsAuthentication の場合、値 true になります。
Status SubscriptionState の場合、値 Inactive になります。
SubscriberSecurity WindowsAuthentication の場合、値 true になります。
SubscriberType MergeSubscriberType の場合、値 Local になります。
SubscriptionType SubscriptionOption の場合、値 Push になります。
SynchronizationAgent 作成したサブスクリプションに関連するパブリケーションの MergeSynchronizationAgent のインスタンスになります。
SyncType SubscriptionSyncType の場合、値 Automatic になります。
UseInteractiveResolver false

MergeSubscription()

MergeSubscription クラスの新しいインスタンスを作成します。

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

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

注釈

既定のコンストラクターは、すべてのフィールドを既定値に初期化します。

こちらもご覧ください

適用対象

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

指定したパブリッシャーへの接続、およびサブスクリプションを一意に定義するプロパティを使用して、MergeSubscription クラスの新しいインスタンスを作成します。

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)

パラメーター

publicationName
String

マージ パブリケーションの名前を指定する String 値です。

databaseName
String

パブリケーションを含むデータベースの名前を指定する String 値です。

subscriberName
String

パブリケーションにサブスクライブするサブスクライバーの名前を指定する String 値です。

subscriptionDBName
String

サブスクリプション データベースの名前を指定する String 値です。

connectionContext
ServerConnection

パブリッシャーへの接続を指定する ServerConnection オブジェクトの値です。

適用対象