Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

MergeArticle.ArticleResolver Property

Gets or sets the friendly name of the custom conflict resolver or business logic handler used when synchronizing the article.

Namespace:  Microsoft.SqlServer.Replication
Assembly:  Microsoft.SqlServer.Rmo (in Microsoft.SqlServer.Rmo.dll)

public string ArticleResolver { get; set; }

Property Value

Type: System.String
A String value.

The ArticleResolver property can be retrieved by members of the sysadmin fixed server role at the Publisher and at the Subscriber (for republishing Subscribers). It can also be retrieved by members of the db_owner fixed database role on the publication database, by members of the replmonitor fixed database role at the Distributor, and by users who are members of the publication access list (PAL).

The ArticleResolver property can be set by members of the sysadmin fixed server role at the Publisher. It can also be set by members of the db_owner fixed database role on the publication database.

Retrieving ArticleResolver is equivalent to executing sp_helpmergearticle (Transact-SQL).

Setting ArticleResolver is equivalent to executing sp_addmergearticle (Transact-SQL) or sp_changemergearticle (Transact-SQL).

The ArticleResolver property is available with Microsoft SQL Server 7.0, Microsoft SQL Server 2000, and Microsoft SQL Server 2005.

This namespace, class, or member is supported only in version 2.0 of the Microsoft .NET Framework.

			// Define the Publisher, publication, and article names.
			string publisherName = publisherInstance;
			string publicationName = "AdvWorksSalesOrdersMerge";
            string publicationDbName = "AdventureWorks2008R2";
			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 = "AdventureWorks2008R2"
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


Community Additions

ADD
Show:
© 2015 Microsoft