Aracılığıyla paylaş


Nasıl yapılır: Görüntüle ve yayını özellikleri (rmo programlama) Değiştir

Yayınlar değiştirebilir ve bunların özelliklerini kullanarak programlamayla erişim Çoğaltma Yönetim Nesneleri (rmo).Yayın özelliklerini görüntülemek veya değiştirmek için kullanabileceğiniz rmo sınıfları yayın türüne bağlıdır.

Bir anlık görüntü veya işlem özelliklerini görüntülemek veya değiştirmek içinyayın

  1. Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree

  2. Oluşturma bir örnek , TransPublication sınıf, küme Name ve DatabaseName yayın ve küme özelliklerini ConnectionContext özellik için adım 1'de oluşturduğunuz bağlantı.

  3. Call LoadProperties yöntem alma özelliklerinin nesne.Bu yöntem döndürür, false, yanlış adım 2'de yayın özellikleri tanımlanmış veya yayın yok.

  4. (İsteğe bağlı) Özelliklerini değiştirmek için küme biri veya daha fazlası için yeni bir değer kümeTablo özellikleri.Mantıksal ve işleç kullanma (& Microsoft Visual C# içinde ve And Microsoft Visual Basic) belirlemek için bir verilen PublicationAttributes için değer küme Attributes özellik.Use the inclusive logical OR operator (| in Visual C# and Or in Visual Basic) and the exclusive logical OR operator (^ in Visual C# and Xor in Visual Basic) to change the PublicationAttributes values for the Attributes property.

  5. (İsteğe bağlı) Değeri belirtildiği takdirde true için CachePropertyChanges, çağrı CommitPropertyChanges yöntem değişiklikler sunucu.Değeri belirtildiği takdirde false için CachePropertyChanges (varsayılan), değişiklikleri sunucuya hemen gönderilir.

Birleştirme yayın özelliklerini görüntülemek veya değiştirmek için

  1. Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree

  2. Oluşturma bir örnek , MergePublication sınıf, küme Name ve DatabaseName yayın ve küme özelliklerini ConnectionContext özellik için adım 1'de oluşturduğunuz bağlantı.

  3. Call LoadProperties yöntem alma özelliklerinin nesne.Bu yöntem döndürür, false, yanlış adım 2'de yayın özellikleri tanımlanmış veya yayın yok.

  4. (İsteğe bağlı) Özelliklerini değiştirmek için küme biri veya daha fazlası için yeni bir değer kümeTablo özellikleri.Mantıksal ve işleç kullanma (& Visual C# içinde ve And Visual Basic) belirlemek için bir verilen PublicationAttributes için değer küme Attributes özellik.Use the inclusive logical OR operator (| in Visual C# and Or in Visual Basic) and the exclusive logical OR operator (^ in Visual C# and Xor in Visual Basic) to change the PublicationAttributes values for the Attributes property.

  5. (İsteğe bağlı) Değeri belirtildiği takdirde true için CachePropertyChanges, çağrı CommitPropertyChanges yöntem değişiklikler sunucu.Değeri belirtildiği takdirde false için CachePropertyChanges (varsayılan), değişiklikleri sunucuya hemen gönderilir.

Örnek

Bu örnek işlem yayın için yayın özniteliklerini ayarlar.Değişiklikleri açıkça sunucuya gönderilen kadar önbelleğe alınır.

         // Define the server, database, and publication names
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksProductTran";
            string publicationDbName = "AdventureWorks2008R2";

            TransPublication publication;

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

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

                // Set the required properties for the publication.
                publication = new TransPublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;

                // Explicitly enable caching of property changes on this object.
                publication.CachePropertyChanges = true;

                // If we can't get the properties for this publication, 
                // throw an application exception.
                if (publication.LoadProperties())
                {
                    // Enable support for push subscriptions and disable support 
                    // for pull subscriptions.
                    if ((publication.Attributes & PublicationAttributes.AllowPull) != 0)
                    {
                        publication.Attributes ^= PublicationAttributes.AllowPull;
                    }
                    if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
                    {
                        publication.Attributes |= PublicationAttributes.AllowPush;
                    }

                    // Send changes to the server.
                    publication.CommitPropertyChanges();
                }
                else
                {
                    throw new ApplicationException(String.Format(
                        "Settings could not be retrieved for the publication. " +
                        "Ensure that the publication {0} exists on {1}.",
                        publicationName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Do error handling here.
                throw new ApplicationException(
                    "The publication property could not be changed.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the server, database, and publication names
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2008R2"

Dim publication As TransPublication

' 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 publication.
    publication = New TransPublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' Explicitly enable caching of property changes on this object.
    publication.CachePropertyChanges = True

    ' If we can't get the properties for this publication, 
    ' throw an application exception.
    If publication.LoadProperties() Then
        ' Enable support for push subscriptions and disable support 
        ' for pull subscriptions.
        If (publication.Attributes And PublicationAttributes.AllowPull) <> 0 Then
            publication.Attributes = publication.Attributes _
            Xor PublicationAttributes.AllowPull
        End If
        If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
            publication.Attributes = publication.Attributes _
            Or PublicationAttributes.AllowPush
        End If

        ' Send changes to the server.
        publication.CommitPropertyChanges()
    Else
        Throw New ApplicationException(String.Format( _
         "Settings could not be retrieved for the publication. " + _
         "Ensure that the publication {0} exists on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Do error handling here.
    Throw New ApplicationException( _
        "The publication property could not be changed.", ex)
Finally
    conn.Disconnect()
End Try

Bu örnek, birleştirme yayın için ddl çoğaltma devre dışı bırakır.

         // Define the server, database, and publication names
            string publisherName = publisherInstance;
            string publicationName = "AdvWorksSalesOrdersMerge";
            string publicationDbName = "AdventureWorks2008R2";

            MergePublication publication;

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

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

                // Set the required properties for the publication.
                publication = new MergePublication();
                publication.ConnectionContext = conn;
                publication.Name = publicationName;
                publication.DatabaseName = publicationDbName;


                // If we can't get the properties for this merge publication, then throw an application exception.
                if (publication.LoadProperties())
                {
                    // If DDL replication is currently enabled, disable it.
                    if (publication.ReplicateDdl == DdlReplicationOptions.All)
                    {
                        publication.ReplicateDdl = DdlReplicationOptions.None;
                    }
                    else
                    {
                        publication.ReplicateDdl = DdlReplicationOptions.All;
                    }
                }
                else
                {
                    throw new ApplicationException(String.Format(
                        "Settings could not be retrieved for the publication. " +
                        "Ensure that the publication {0} exists on {1}.",
                        publicationName, publisherName));
                }
            }
            catch (Exception ex)
            {
                // Do error handling here.
                throw new ApplicationException(
                    "The publication property could not be changed.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Define the server, database, and publication names
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksSalesOrdersMerge"
Dim publicationDbName As String = "AdventureWorks2008R2"

Dim publication As MergePublication

' 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 publication.
    publication = New MergePublication()
    publication.ConnectionContext = conn
    publication.Name = publicationName
    publication.DatabaseName = publicationDbName

    ' If we can't get the properties for this merge publication, then throw an application exception.
    If publication.LoadProperties() Then
        ' If DDL replication is currently enabled, disable it.
        If publication.ReplicateDdl = DdlReplicationOptions.All Then
            publication.ReplicateDdl = DdlReplicationOptions.None
        Else
            publication.ReplicateDdl = DdlReplicationOptions.All
        End If
    Else
        Throw New ApplicationException(String.Format( _
         "Settings could not be retrieved for the publication. " + _
         "Ensure that the publication {0} exists on {1}.", _
         publicationName, publisherName))
    End If
Catch ex As Exception
    ' Do error handling here.
    Throw New ApplicationException( _
        "The publication property could not be changed.", ex)
Finally
    conn.Disconnect()
End Try