Jak Wyświetlanie i modyfikowanie właściwości artykułu (Programowanie RMO)
Można modyfikować artykułów i uzyskiwać dostęp do ich właściwości programowo przy użyciu obiektów zarządzania replikacji (RMO).Służy do wyświetlania lub modyfikowania właściwości artykuł klas RMO zależą od typu publikacja, do której należy artykuł.
Aby wyświetlić lub zmodyfikować właściwości artykuł należącego do migawka lub transakcyjnych publikacja
Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy
Utworzenie wystąpienie TransArticle klasy
Ustaw Name, PublicationName, i DatabaseName Właściwości.
Ustawić połączenie z kroku 1 dla ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, artykuł nie istnieje albo niepoprawnie zostały zdefiniowane właściwości artykuł w kroku 3.
(Opcjonalnie) Aby zmienić właściwości, ustaw nową wartość dla jednego z TransArticle Właściwości, które mogą być zestaw.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Aby wyświetlić lub zmodyfikować właściwości artykuł, który należy do publikacja korespondencji seryjnej
Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy
Utworzenie wystąpienie MergeArticle klasy
Ustaw Name, PublicationName, i DatabaseName Właściwości.
Ustawić połączenie z kroku 1 dla ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, artykuł nie istnieje albo niepoprawnie zostały zdefiniowane właściwości artykuł w kroku 3.
(Opcjonalnie) Aby zmienić właściwości, ustaw nową wartość dla jednego z MergeArticle Właściwości, które mogą być zestaw.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Przykład
Artykuł korespondencji seryjnej, aby określić zmiany w tym przykładzie obsługa logika biznesowa używane w artykule.
// 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
Zobacz także