다음을 통해 공유


MergeArticle.ArticleResolver 속성

정의

아티클을 동기화할 때 사용되는 비즈니스 논리 처리기 또는 사용자 지정 충돌 해결 프로그램의 이름을 가져오거나 설정합니다.

public:
 property System::String ^ ArticleResolver { System::String ^ get(); void set(System::String ^ value); };
public string ArticleResolver { get; set; }
member this.ArticleResolver : string with get, set
Public Property ArticleResolver As String

속성 값

String 값입니다.

예제

// Define the Publisher, publication, and article names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks2012";
string articleName = "SalesOrderHeader";

// Set the friendly name of the business logic handler.
string customLogic = "OrderEntryLogic";

MergeArticle article = new MergeArticle();

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

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

    // Set the required properties for the article.
    article.ConnectionContext = conn;
    article.Name = articleName;
    article.DatabaseName = publicationDbName;
    article.PublicationName = publicationName;

    // Load the article properties.
    if (article.LoadProperties())
    {
        article.ArticleResolver = customLogic;
    }
    else
    {
        // Throw an exception of the article does not exist.
        throw new ApplicationException(String.Format(
        "{0} is not published in {1}", articleName, publicationName));
    }
    
}
catch (Exception ex)
{
    // Do error handling here and rollback the transaction.
    throw new ApplicationException(String.Format(
        "The business logic handler {0} could not be associated with " +
        " the {1} article.",customLogic,articleName), ex);
}
finally
{
    conn.Disconnect();
}
' Define the Publisher, publication, and article names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2012"
Dim articleName As String = "SalesOrderHeader"

' Set the friendly name of the business logic handler.
Dim customLogic As String = "OrderEntryLogic"

Dim article As MergeArticle = New MergeArticle()

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

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

    ' Set the required properties for the article.
    article.ConnectionContext = conn
    article.Name = articleName
    article.DatabaseName = publicationDbName
    article.PublicationName = publicationName

    ' Load the article properties.
    If article.LoadProperties() Then
        article.ArticleResolver = customLogic
    Else
        ' Throw an exception of the article does not exist.
        Throw New ApplicationException(String.Format( _
         "{0} is not published in {1}", articleName, publicationName))
    End If

Catch ex As Exception
    ' Do error handling here and rollback the transaction.
    Throw New ApplicationException(String.Format( _
     "The business logic handler {0} could not be associated with " + _
     " the {1} article.", customLogic, articleName), ex)
Finally
    conn.Disconnect()
End Try

설명

게시 ArticleResolver 자 및 구독자(구독자 다시 게시용)에서 sysadmin 고정 서버 역할의 멤버가 속성을 검색할 수 있습니다. 게시 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버, 배포 자에서 replmonitor 고정 데이터베이스 역할의 멤버 및 PAL(게시 액세스 목록)의 멤버인 사용자가 검색할 수도 있습니다.

게시 ArticleResolver 자에서 sysadmin 고정 서버 역할의 멤버가 속성을 설정할 수 있습니다. 게시 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버가 설정할 수도 있습니다.

ArticleResolver 검색은 sp_helpmergearticle(Transact-SQL) 실행과 동일합니다.

설정 ArticleResolversp_addmergearticle(Transact-SQL) 또는 sp_changemergearticle(Transact-SQL)를 실행하는 것과 같습니다.

적용 대상