MergeArticle Sınıfı
Birleştirme yayın bir makale temsil eder.
Devralma Hiyerarşisi
System.Object
Microsoft.SqlServer.Replication.ReplicationObject
Microsoft.SqlServer.Replication.Article
Microsoft.SqlServer.Replication.MergeArticle
Ad Alanı: Microsoft.SqlServer.Replication
Derleme: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo içinde.dll)
Sözdizimi
'Bildirim
Public NotInheritable Class MergeArticle _
Inherits Article
'Kullanım
Dim instance As MergeArticle
public sealed class MergeArticle : Article
public ref class MergeArticle sealed : public Article
[<SealedAttribute>]
type MergeArticle =
class
inherit Article
end
public final class MergeArticle extends Article
MergeArticle türü aşağıdaki üyeleri açıklar.
Oluşturucular
Ad | Açıklama | |
---|---|---|
MergeArticle() | Oluşturur Yeni bir örnek , MergeArticle WalkTree | |
MergeArticle(String, String, String, ServerConnection) | Creates a new instance of the MergeArticle class with the specified name, publication, database, and connection to the instance of Microsoft SQL Server. |
Üst
Özellikler
Ad | Açıklama | |
---|---|---|
AllowInteractiveResolver | Alır veya abonelikler çakışmaları, eşitleme sırasında ortaya çıktığında etkileşimli bir çözümleyici çağırmak izin verilip verilmeyeceğini ayarlar. | |
ArticleId | Makale kimliği değerini alır. (Article öğesinden devralınmıştır.) | |
ArticleResolver | Alır veya ayarlar özel kolay adını çakışma giderici ya da ne zaman kullanılan iş mantığı işleyicisi makaleyi eşitleme. | |
CachePropertyChanges | Alır veya çoğaltma özelliklerinde yaptığınız değişiklikler önbelleğe mi, yoksa hemen uygulamak için ayarlar. (ReplicationObject öğesinden devralınmıştır.) | |
CheckPermissions | Alır veya ayarlar bir aboneden değişiklikleri karşıya önce izinleri Yayımcı tarafında nasıl denetlenir. | |
ColumnTracking | Alır veya ayarlar veri satırlarını eşitlerken çakışmaları nasıl algılandı. | |
CompensateForErrors | Alır veya eşitleme sırasında hataları girildiğinde karşılayan eylemleri alınır olup olmadığını ayarlar. | |
ConflictTable | Adını alır tablo bir birleştirme makale eşitlerken oluşan çakışmaları izlemek için kullanılır. | |
ConnectionContext | Gets or sets the connection to an instance of Microsoft SQL Server. (ReplicationObject öğesinden devralınmıştır.) | |
CreateArticleAsHeterogeneous | (Article öğesinden devralınmıştır.) | |
CreationScript | Alır veya ayarlar adı ve tam yol , Transact-SQL adresindeki hedef nesnesini oluşturmak için kullanılan komut dosyasıabone. (Article öğesinden devralınmıştır.) | |
DatabaseName | Alır veya ayarlar veri ve makale yayımlanmış nesneler içeren veritabanının adı. (Article öğesinden devralınmıştır.) | |
DeleteTracking | Alır veya siler çoğaltılır olup olmadığını ayarlar. | |
Description | Alır veya ayarlar metinsel tanımlaması makale. (Article öğesinden devralınmıştır.) | |
DestinationObjectName | Alır veya ayarlar için kaynak veritabanı nesnesi veritabanı nesnesini makale adresindeki abone. (Article öğesinden devralınmıştır.) | |
DestinationObjectOwner | Alır veya ayarlar için kaynak veritabanı nesnesi şema sahibini makale adresindeki abone. (Article öğesinden devralınmıştır.) | |
FilterClause | Alır veya ayarlar Burada (Transact-SQL) filtre uygulamak için değerlendirilen yan tümce tümce tümce bir makale yatay olarak. | |
IdentityRangeManagementOption | Alır veya kimlik aralık yönetimi seçeneklerini ayarlar makale. (Article öğesinden devralınmıştır.) | |
IdentityRangeThreshold | Değeri alır veya hangi ayarlar yeni bir aralık bir yayımcı veya abone kimliğini sütun değerleri atanır. (Article öğesinden devralınmıştır.) | |
IsExistingObject | Nesne veya sunucuda var olup olmadığını alır. (ReplicationObject öğesinden devralınmıştır.) | |
MultipleColumnUpdate | Altyapı. | |
Name | Alır veya ayarlar makale. (Article öğesinden devralınmıştır.) | |
PartitionOption | Alır veya parametreli satır filtresi kullanarak bir makale filtre uygulandığında, filtreleme seçenekleri ayarlar. | |
PreCreationMethod | Alır veya ayarlar yayımlanmış nesnesi içinde zaten olduğunda yapılacak eylem abonelik veritabanı. (Article öğesinden devralınmıştır.) | |
ProcessingOrder | Alır veya eşitleme sırasında makale işlem sırasını ayarlar. | |
PublicationName | Alır veya olduğu yayın adı ayarlar makale ait. (Article öğesinden devralınmıştır.) | |
PublisherIdentityRangeSize | İçin bir TransArticle nesne, alır veya ayarlar tablo sütunlarının adresindeki atanan kimlik değerleri aralıkyayımcı.İçin bir MergeArticle nesnesini alır veya ayarlar tablo sütunlarının adresindeki aboneleri, var. sunucu abonelikleri için atanan kimlik değerleri aralık (Article öğesinden devralınmıştır.) | |
ResolverInfo | Alır veya ek veri ve bir com tabanlı tarafından kullanılacak olan parametreleri ayarlar çakışma giderici. | |
SchemaOption | Alır veya şema makale oluşturma seçeneklerini ayarlar. (Article öğesinden devralınmıştır.) | |
SnapshotObjectName | ilk anlık görüntü verilerini temsil eden veritabanı nesnesinin adını alır makale. | |
SnapshotObjectOwner | ilk anlık görüntü verilerini temsil eden bir veritabanı nesnesi sahibi alır makale. | |
SourceObjectName | Alır veya ayarlar yayımlanmış veritabanı nesnesinin adı. (Article öğesinden devralınmıştır.) | |
SourceObjectOwner | Alır veya ayarlar yayımlanmış veritabanı nesnesi sahibi. (Article öğesinden devralınmıştır.) | |
SqlServerName | Gets the name of the Microsoft SQL Server instance to which this object is connected. (ReplicationObject öğesinden devralınmıştır.) | |
Status | Alır veya birleştirme makale durumunu ayarlar. | |
StreamBlobColumns | Alır veya veri akışı en iyileştirme ikili büyük nesne (blob) sütunları çoğaltılıyor olduğunda kullanılır olup olmadığını ayarlar. | |
SubscriberIdentityRangeSize | Alır veya ayarlar en fazla kimlik sütunu içine eklenen yeni satır sayısı bir tablo adresindeki abone önce başka bir kimlik aralık tahsis edilebilir. (Article öğesinden devralınmıştır.) | |
SubscriberUploadOption | Alır veya ayarlar bir istemci ile bir abone adresindeki yapılan güncelleştirmeler davranışını abonelik. | |
Type | Alır veya ayarlar türü makale. (Article öğesinden devralınmıştır.) | |
UserData | Alır veya ayarlar bir nesne özellik, kullanıcıların nesneye, kendi veri eklemesine olanak verir. (ReplicationObject öğesinden devralınmıştır.) | |
VerifyResolverSignature | Alır veya güvenilir bir olup olmadığını belirlemek için bir com tabanlı Çakışma Çözümleyici sayısal imza doğrulama seçenekleri ayarlar kaynak. | |
VerticalPartition | Tüm sütunları bir tablo makale yayımlanıp yayımlanmayacağını belirtir. (Article öğesinden devralınmıştır.) |
Üst
Yöntemler
Ad | Açıklama | |
---|---|---|
AddMergeJoinFilter | Ekler bir birleşim filtresi birleştirmek makale için. | |
AddReplicatedColumns | Birleştirme makale için belirtilen sütunlara ekler. | |
ChangeMergeJoinFilter | Değişiklikleri bir birleşim filtresi bir birleştirmek makale üzerinde tanımlanmış. | |
CheckValidCreation | Altyapı. (Article öğesinden devralınmıştır.) | |
CheckValidDefinition | Altyapı. (Article öğesinden devralınmıştır.) | |
CommitPropertyChanges | Sends all the cached property change statements to the instance of Microsoft SQL Server. (ReplicationObject öğesinden devralınmıştır.) | |
Create | Şu anda bağlı örnek üzerinde yeni bir makale oluşturur SQL Server geçerli özelliklerine göre TransArticle nesne veya MergeArticle nesne. (Article öğesinden devralınmıştır.) | |
Decouple | Sunucu çoğaltma başvurulan nesneden decouples. (ReplicationObject öğesinden devralınmıştır.) | |
EnumMergeJoinFilters | birleştirmek makale için tanımlanan birleştirmek filtreleri döndürür. | |
Equals | (Object öğesinden devralınmıştır.) | |
Finalize | (Object öğesinden devralınmıştır.) | |
GetChangeCommand | Altyapı. (ReplicationObject öğesinden devralınmıştır.) | |
GetCreateCommand | Altyapı. (ReplicationObject öğesinden devralınmıştır.) | |
GetDropCommand | Altyapı. (ReplicationObject öğesinden devralınmıştır.) | |
GetHashCode | (Object öğesinden devralınmıştır.) | |
GetType | (Object öğesinden devralınmıştır.) | |
InitializeSharedPropertiesBasedOnExistingArticles | Altyapı. | |
InternalRefresh | Altyapı. (ReplicationObject öğesinden devralınmıştır.) | |
ListReplicatedColumns | Bir dikey olarak bölümlenmiş makale bulunan sütunlar döndürür. | |
Load | Varolan bir nesnenin özelliklerini sunucudan yükler. (ReplicationObject öğesinden devralınmıştır.) | |
LoadProperties | Varolan bir nesnenin özelliklerini sunucudan yükler. (ReplicationObject öğesinden devralınmıştır.) | |
MemberwiseClone | (Object öğesinden devralınmıştır.) | |
Refresh | Nesnenin özelliklerini yeniden yükler. (ReplicationObject öğesinden devralınmıştır.) | |
Remove | Varolan bir makale şu anda bağlı örnek kaldırır SQL Server geçerli özelliklerine göre TransArticle nesne veya MergeArticle nesne. (Article öğesinden devralınmıştır.) | |
RemoveMergeJoinFilter | Belirtilen birleştirmek kaldırır birleştirmek filtresi makalede. | |
RemoveReplicatedColumns | Dikey olarak bölümlenmiş makale sütunlarından varolan kaldırır. | |
Script | Oluşturduğu bir Transact-SQL oluşturmak veya silmek için yürütülen komut dosyası TransArticle nesne veya MergeArticle Nesne Sunucusu. (Article öğesinden devralınmıştır.) | |
ScriptMergeJoinFilter | Döndürür bir Transact-SQL birleştirmek komut dosyası birleşim filtresi iliştirilmiş birleştirmek makale. | |
ToString | (Object öğesinden devralınmıştır.) |
Üst
Açıklamalar
Bu ad, sınıf veya üye yalnızca desteklenen sürüm 2.0 Microsoft .net Framework.
İş Parçacığı Güvenliği
Herhangi bir ortak statik (Shared , Microsoft Visual Basic) bu tür üyeler birden çok iş parçacığı işlemleri. için güvenliHerhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.
Örnekler
Bu örnek, üç birleştirmek makaleleri ve bunların ilişkili birleştirmek filtreleri oluşturur.
// Define the Publisher and publication names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksSalesOrdersMerge";
string publicationDbName = "AdventureWorks2008R2";
// Specify article names.
string articleName1 = "Employee";
string articleName2 = "SalesOrderHeader";
string articleName3 = "SalesOrderDetail";
// Specify join filter information.
string filterName12 = "SalesOrderHeader_Employee";
string filterClause12 = "Employee.BusinessEntityID = " +
"SalesOrderHeader.SalesPersonID";
string filterName23 = "SalesOrderDetail_SalesOrderHeader";
string filterClause23 = "SalesOrderHeader.SalesOrderID = " +
"SalesOrderDetail.SalesOrderID";
string salesSchema = "Sales";
string hrSchema = "HumanResources";
MergeArticle article1 = new MergeArticle();
MergeArticle article2 = new MergeArticle();
MergeArticle article3 = new MergeArticle();
MergeJoinFilter filter12 = new MergeJoinFilter();
MergeJoinFilter filter23 = new MergeJoinFilter();
// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
// Create three merge articles that are horizontally partitioned
// using a parameterized row filter on Employee.BusinessEntityID, which is
// extended to the two other articles using join filters.
try
{
// Connect to the Publisher.
conn.Connect();
// Create each article.
// For clarity, each article is defined separately.
// In practice, iterative structures and arrays should
// be used to efficiently create multiple articles.
// Set the required properties for the Employee article.
article1.ConnectionContext = conn;
article1.Name = articleName1;
article1.DatabaseName = publicationDbName;
article1.SourceObjectName = articleName1;
article1.SourceObjectOwner = hrSchema;
article1.PublicationName = publicationName;
article1.Type = ArticleOptions.TableBased;
// Define the parameterized filter clause based on Hostname.
article1.FilterClause = "Employee.LoginID = HOST_NAME()";
// Set the required properties for the SalesOrderHeader article.
article2.ConnectionContext = conn;
article2.Name = articleName2;
article2.DatabaseName = publicationDbName;
article2.SourceObjectName = articleName2;
article2.SourceObjectOwner = salesSchema;
article2.PublicationName = publicationName;
article2.Type = ArticleOptions.TableBased;
// Set the required properties for the SalesOrderDetail article.
article3.ConnectionContext = conn;
article3.Name = articleName3;
article3.DatabaseName = publicationDbName;
article3.SourceObjectName = articleName3;
article3.SourceObjectOwner = salesSchema;
article3.PublicationName = publicationName;
article3.Type = ArticleOptions.TableBased;
if (!article1.IsExistingObject) article1.Create();
if (!article2.IsExistingObject) article2.Create();
if (!article3.IsExistingObject) article3.Create();
// Select published columns for SalesOrderHeader.
// Create an array of column names to vertically filter out.
// In this example, only one column is removed.
String[] columns = new String[1];
columns[0] = "CreditCardApprovalCode";
// Remove the column.
article2.RemoveReplicatedColumns(columns);
// Define a merge filter clauses that filter
// SalesOrderHeader based on Employee and
// SalesOrderDetail based on SalesOrderHeader.
// Parent article.
filter12.JoinArticleName = articleName1;
// Child article.
filter12.ArticleName = articleName2;
filter12.FilterName = filterName12;
filter12.JoinUniqueKey = true;
filter12.FilterTypes = FilterTypes.JoinFilter;
filter12.JoinFilterClause = filterClause12;
// Add the join filter to the child article.
article2.AddMergeJoinFilter(filter12);
// Parent article.
filter23.JoinArticleName = articleName2;
// Child article.
filter23.ArticleName = articleName3;
filter23.FilterName = filterName23;
filter23.JoinUniqueKey = true;
filter23.FilterTypes = FilterTypes.JoinFilter;
filter23.JoinFilterClause = filterClause23;
// Add the join filter to the child article.
article3.AddMergeJoinFilter(filter23);
}
catch (Exception ex)
{
// Do error handling here and rollback the transaction.
throw new ApplicationException(
"The filtered articles could not be created", ex);
}
finally
{
conn.Disconnect();
}
' Define the Publisher and publication names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2008R2"
' Specify article names.
Dim articleName1 As String = "Employee"
Dim articleName2 As String = "SalesOrderHeader"
Dim articleName3 As String = "SalesOrderDetail"
' Specify join filter information.
Dim filterName12 As String = "SalesOrderHeader_Employee"
Dim filterClause12 As String = "Employee.BusinessEntityID = " + _
"SalesOrderHeader.SalesPersonID"
Dim filterName23 As String = "SalesOrderDetail_SalesOrderHeader"
Dim filterClause23 As String = "SalesOrderHeader.SalesOrderID = " + _
"SalesOrderDetail.SalesOrderID"
Dim salesSchema As String = "Sales"
Dim hrSchema As String = "HumanResources"
Dim article1 As MergeArticle = New MergeArticle()
Dim article2 As MergeArticle = New MergeArticle()
Dim article3 As MergeArticle = New MergeArticle()
Dim filter12 As MergeJoinFilter = New MergeJoinFilter()
Dim filter23 As MergeJoinFilter = New MergeJoinFilter()
' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
' Create three merge articles that are horizontally partitioned
' using a parameterized row filter on Employee.BusinessEntityID, which is
' extended to the two other articles using join filters.
Try
' Connect to the Publisher.
conn.Connect()
' Create each article.
' For clarity, each article is defined separately.
' In practice, iterative structures and arrays should
' be used to efficiently create multiple articles.
' Set the required properties for the Employee article.
article1.ConnectionContext = conn
article1.Name = articleName1
article1.DatabaseName = publicationDbName
article1.SourceObjectName = articleName1
article1.SourceObjectOwner = hrSchema
article1.PublicationName = publicationName
article1.Type = ArticleOptions.TableBased
' Define the parameterized filter clause based on Hostname.
article1.FilterClause = "Employee.LoginID = HOST_NAME()"
' Set the required properties for the SalesOrderHeader article.
article2.ConnectionContext = conn
article2.Name = articleName2
article2.DatabaseName = publicationDbName
article2.SourceObjectName = articleName2
article2.SourceObjectOwner = salesSchema
article2.PublicationName = publicationName
article2.Type = ArticleOptions.TableBased
' Set the required properties for the SalesOrderDetail article.
article3.ConnectionContext = conn
article3.Name = articleName3
article3.DatabaseName = publicationDbName
article3.SourceObjectName = articleName3
article3.SourceObjectOwner = salesSchema
article3.PublicationName = publicationName
article3.Type = ArticleOptions.TableBased
' Create the articles, if they do not already exist.
If article1.IsExistingObject = False Then
article1.Create()
End If
If article2.IsExistingObject = False Then
article2.Create()
End If
If article3.IsExistingObject = False Then
article3.Create()
End If
' Select published columns for SalesOrderHeader.
' Create an array of column names to vertically filter out.
' In this example, only one column is removed.
Dim columns() As String = New String(0) {}
columns(0) = "CreditCardApprovalCode"
' Remove the column.
article2.RemoveReplicatedColumns(columns)
' Define a merge filter clauses that filter
' SalesOrderHeader based on Employee and
' SalesOrderDetail based on SalesOrderHeader.
' Parent article.
filter12.JoinArticleName = articleName1
' Child article.
filter12.ArticleName = articleName2
filter12.FilterName = filterName12
filter12.JoinUniqueKey = True
filter12.FilterTypes = FilterTypes.JoinFilter
filter12.JoinFilterClause = filterClause12
' Add the join filter to the child article.
article2.AddMergeJoinFilter(filter12)
' Parent article.
filter23.JoinArticleName = articleName2
' Child article.
filter23.ArticleName = articleName3
filter23.FilterName = filterName23
filter23.JoinUniqueKey = True
filter23.FilterTypes = FilterTypes.JoinFilter
filter23.JoinFilterClause = filterClause23
' Add the join filter to the child article.
article3.AddMergeJoinFilter(filter23)
Catch ex As Exception
' Do error handling here and rollback the transaction.
Throw New ApplicationException( _
"The filtered articles could not be created", ex)
Finally
conn.Disconnect()
End Try
Bu örnek değişiklikler ve iş mantığı işleyicisi makaleyi ile ilişkilendirmek için varolan birleştirme makale.Daha fazla bilgi için, bkz. Nasıl yapılır: Bir birleştirme makalesi (rmo programlama) Business Logic işleyicisi uygulamak.
// 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
İş Parçacığı Güvenliği
Bu türdeki tüm ortak static (Visual Basic'te Shared) üyeler iş parçacığı için güvenlidir. Herhangi bir örnek üyenin iş parçacığı için güvenli olduğu garanti edilmemiştir.
Ayrıca bkz.