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
Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree
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ı.
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.
(İ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.
(İ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
Bir bağlantı oluşturmak Yayımcı kullanarak ServerConnection WalkTree
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ı.
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.
(İ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.
(İ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