Aracılığıyla paylaş


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
Ortak yöntem MergeArticle() Oluşturur Yeni bir örnek , MergeArticle WalkTree
Ortak yöntem 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
Ortak özellik 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.
Ortak özellik ArticleId Makale kimliği değerini alır. (Article öğesinden devralınmıştır.)
Ortak özellik 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.
Ortak özellik 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.)
Ortak özellik CheckPermissions Alır veya ayarlar bir aboneden değişiklikleri karşıya önce izinleri Yayımcı tarafında nasıl denetlenir.
Ortak özellik ColumnTracking Alır veya ayarlar veri satırlarını eşitlerken çakışmaları nasıl algılandı.
Ortak özellik CompensateForErrors Alır veya eşitleme sırasında hataları girildiğinde karşılayan eylemleri alınır olup olmadığını ayarlar.
Ortak özellik ConflictTable Adını alır tablo bir birleştirme makale eşitlerken oluşan çakışmaları izlemek için kullanılır.
Ortak özellik ConnectionContext Gets or sets the connection to an instance of Microsoft SQL Server. (ReplicationObject öğesinden devralınmıştır.)
Korumalı özellik CreateArticleAsHeterogeneous (Article öğesinden devralınmıştır.)
Ortak özellik 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.)
Ortak özellik DatabaseName Alır veya ayarlar veri ve makale yayımlanmış nesneler içeren veritabanının adı. (Article öğesinden devralınmıştır.)
Ortak özellik DeleteTracking Alır veya siler çoğaltılır olup olmadığını ayarlar.
Ortak özellik Description Alır veya ayarlar metinsel tanımlaması makale. (Article öğesinden devralınmıştır.)
Ortak özellik DestinationObjectName Alır veya ayarlar için kaynak veritabanı nesnesi veritabanı nesnesini makale adresindeki abone. (Article öğesinden devralınmıştır.)
Ortak özellik DestinationObjectOwner Alır veya ayarlar için kaynak veritabanı nesnesi şema sahibini makale adresindeki abone. (Article öğesinden devralınmıştır.)
Ortak özellik 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.
Ortak özellik IdentityRangeManagementOption Alır veya kimlik aralık yönetimi seçeneklerini ayarlar makale. (Article öğesinden devralınmıştır.)
Ortak özellik 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.)
Ortak özellik IsExistingObject Nesne veya sunucuda var olup olmadığını alır. (ReplicationObject öğesinden devralınmıştır.)
Ortak özellik MultipleColumnUpdate Altyapı.
Ortak özellik Name Alır veya ayarlar makale. (Article öğesinden devralınmıştır.)
Ortak özellik PartitionOption Alır veya parametreli satır filtresi kullanarak bir makale filtre uygulandığında, filtreleme seçenekleri ayarlar.
Ortak özellik PreCreationMethod Alır veya ayarlar yayımlanmış nesnesi içinde zaten olduğunda yapılacak eylem abonelik veritabanı. (Article öğesinden devralınmıştır.)
Ortak özellik ProcessingOrder Alır veya eşitleme sırasında makale işlem sırasını ayarlar.
Ortak özellik PublicationName Alır veya olduğu yayın adı ayarlar makale ait. (Article öğesinden devralınmıştır.)
Ortak özellik 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.)
Ortak özellik ResolverInfo Alır veya ek veri ve bir com tabanlı tarafından kullanılacak olan parametreleri ayarlar çakışma giderici.
Ortak özellik SchemaOption Alır veya şema makale oluşturma seçeneklerini ayarlar. (Article öğesinden devralınmıştır.)
Ortak özellik SnapshotObjectName ilk anlık görüntü verilerini temsil eden veritabanı nesnesinin adını alır makale.
Ortak özellik SnapshotObjectOwner ilk anlık görüntü verilerini temsil eden bir veritabanı nesnesi sahibi alır makale.
Ortak özellik SourceObjectName Alır veya ayarlar yayımlanmış veritabanı nesnesinin adı. (Article öğesinden devralınmıştır.)
Ortak özellik SourceObjectOwner Alır veya ayarlar yayımlanmış veritabanı nesnesi sahibi. (Article öğesinden devralınmıştır.)
Ortak özellik SqlServerName Gets the name of the Microsoft SQL Server instance to which this object is connected. (ReplicationObject öğesinden devralınmıştır.)
Ortak özellik Status Alır veya birleştirme makale durumunu ayarlar.
Ortak özellik 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.
Ortak özellik 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.)
Ortak özellik SubscriberUploadOption Alır veya ayarlar bir istemci ile bir abone adresindeki yapılan güncelleştirmeler davranışını abonelik.
Ortak özellik Type Alır veya ayarlar türü makale. (Article öğesinden devralınmıştır.)
Ortak özellik UserData Alır veya ayarlar bir nesne özellik, kullanıcıların nesneye, kendi veri eklemesine olanak verir. (ReplicationObject öğesinden devralınmıştır.)
Ortak özellik 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.
Ortak özellik 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
Ortak yöntem AddMergeJoinFilter Ekler bir birleşim filtresi birleştirmek makale için.
Ortak yöntem AddReplicatedColumns Birleştirme makale için belirtilen sütunlara ekler.
Ortak yöntem ChangeMergeJoinFilter Değişiklikleri bir birleşim filtresi bir birleştirmek makale üzerinde tanımlanmış.
Korumalı yöntem CheckValidCreation Altyapı. (Article öğesinden devralınmıştır.)
Korumalı yöntem CheckValidDefinition Altyapı. (Article öğesinden devralınmıştır.)
Ortak yöntem CommitPropertyChanges Sends all the cached property change statements to the instance of Microsoft SQL Server. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem 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.)
Ortak yöntem Decouple Sunucu çoğaltma başvurulan nesneden decouples. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem EnumMergeJoinFilters birleştirmek makale için tanımlanan birleştirmek filtreleri döndürür.
Ortak yöntem Equals (Object öğesinden devralınmıştır.)
Korumalı yöntem Finalize (Object öğesinden devralınmıştır.)
Korumalı yöntem GetChangeCommand Altyapı. (ReplicationObject öğesinden devralınmıştır.)
Korumalı yöntem GetCreateCommand Altyapı. (ReplicationObject öğesinden devralınmıştır.)
Korumalı yöntem GetDropCommand Altyapı. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem GetHashCode (Object öğesinden devralınmıştır.)
Ortak yöntem GetType (Object öğesinden devralınmıştır.)
Ortak yöntem InitializeSharedPropertiesBasedOnExistingArticles Altyapı.
Korumalı yöntem InternalRefresh Altyapı. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem ListReplicatedColumns Bir dikey olarak bölümlenmiş makale bulunan sütunlar döndürür.
Ortak yöntem Load Varolan bir nesnenin özelliklerini sunucudan yükler. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem LoadProperties Varolan bir nesnenin özelliklerini sunucudan yükler. (ReplicationObject öğesinden devralınmıştır.)
Korumalı yöntem MemberwiseClone (Object öğesinden devralınmıştır.)
Ortak yöntem Refresh Nesnenin özelliklerini yeniden yükler. (ReplicationObject öğesinden devralınmıştır.)
Ortak yöntem 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.)
Ortak yöntem RemoveMergeJoinFilter Belirtilen birleştirmek kaldırır birleştirmek filtresi makalede.
Ortak yöntem RemoveReplicatedColumns Dikey olarak bölümlenmiş makale sütunlarından varolan kaldırır.
Ortak yöntem 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.)
Ortak yöntem ScriptMergeJoinFilter Döndürür bir Transact-SQL birleştirmek komut dosyası birleşim filtresi iliştirilmiş birleştirmek makale.
Ortak yöntem 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.