Свойство Article.PublicationName
Gets or sets the name of the publication to which the article belongs.
Пространство имен: Microsoft.SqlServer.Replication
Сборка: Microsoft.SqlServer.Rmo (в Microsoft.SqlServer.Rmo.dll)
Синтаксис
'Декларация
Public Property PublicationName As String
Get
Set
'Применение
Dim instance As Article
Dim value As String
value = instance.PublicationName
instance.PublicationName = value
public string PublicationName { get; set; }
public:
property String^ PublicationName {
String^ get ();
void set (String^ value);
}
member PublicationName : string with get, set
function get PublicationName () : String
function set PublicationName (value : String)
Значение свойства
Тип: System.String
The name of the publication.
Исключения
Исключение | Условие |
---|---|
ApplicationException | When you attempt to set the PublicationName property for an existing article. |
ArgumentException | When you set the PublicationName property to a nullпустая ссылка (Nothing в Visual Basic) value, to a value with nullпустая ссылка (Nothing в Visual Basic) characters, or to a value longer than 128-Unicode characters. |
Замечания
The PublicationName property is a read/write property, so it is necessary to set it before the object is created.
The PublicationName property must be set before the Create method is called to create the article on the server. Attempting to set this property for an existing article generates an exception.
The PublicationName property can be retrieved by members of the sysadmin fixed server role at the Publisher and at the Subscriber (for republishing Subscribers). It can also be retrieved by members of the db_owner fixed database role on the publication database and by users who are members of the PAL. For a MergeArticle object, this property can also be retrieved by members of the replmonitor fixed database role on the Distributor.
The PublicationName property can be set by members of the sysadmin fixed server role at the Publisher. It can also be set by members of the db_owner fixed database role on the publication database.
Retrieving PublicationName is equivalent to executing sp_helparticle (Transact-SQL) for transactional or snapshot replication or executing sp_helpmergearticle (Transact-SQL) for merge replication.
Setting PublicationName is equivalent to executing sp_addarticle (Transact-SQL) for transactional or snapshot replication or executing sp_addmergearticle (Transact-SQL) for merge replication.
Примеры
// Define the Publisher, publication, and article names.
string publisherName = publisherInstance;
string publicationName = "AdvWorksProductTran";
string publicationDbName = "AdventureWorks2012";
string articleName = "Product";
string schemaOwner = "Production";
TransArticle article;
// Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(publisherName);
// Create a filtered transactional articles in the following steps:
// 1) Create the article with a horizontal filter clause.
// 2) Add columns to or remove columns from the article.
try
{
// Connect to the Publisher.
conn.Connect();
// Define a horizontally filtered, log-based table article.
article = new TransArticle();
article.ConnectionContext = conn;
article.Name = articleName;
article.DatabaseName = publicationDbName;
article.SourceObjectName = articleName;
article.SourceObjectOwner = schemaOwner;
article.PublicationName = publicationName;
article.Type = ArticleOptions.LogBased;
article.FilterClause = "DiscontinuedDate IS NULL";
// Ensure that we create the schema owner at the Subscriber.
article.SchemaOption |= CreationScriptOptions.Schema;
if (!article.IsExistingObject)
{
// Create the article.
article.Create();
}
else
{
throw new ApplicationException(String.Format(
"The article {0} already exists in publication {1}.",
articleName, publicationName));
}
// Create an array of column names to remove from the article.
String[] columns = new String[1];
columns[0] = "DaysToManufacture";
// Remove the column from the article.
article.RemoveReplicatedColumns(columns);
}
catch (Exception ex)
{
// Implement appropriate error handling here.
throw new ApplicationException("The article could not be created.", ex);
}
finally
{
conn.Disconnect();
}
' Define the Publisher, publication, and article names.
Dim publisherName As String = publisherInstance
Dim publicationName As String = "AdvWorksProductTran"
Dim publicationDbName As String = "AdventureWorks2012"
Dim articleName As String = "Product"
Dim schemaOwner As String = "Production"
Dim article As TransArticle
' Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(publisherName)
' Create a filtered transactional articles in the following steps:
' 1) Create the article with a horizontal filter clause.
' 2) Add columns to or remove columns from the article.
Try
' Connect to the Publisher.
conn.Connect()
' Define a horizontally filtered, log-based table article.
article = New TransArticle()
article.ConnectionContext = conn
article.Name = articleName
article.DatabaseName = publicationDbName
article.SourceObjectName = articleName
article.SourceObjectOwner = schemaOwner
article.PublicationName = publicationName
article.Type = ArticleOptions.LogBased
article.FilterClause = "DiscontinuedDate IS NULL"
' Ensure that we create the schema owner at the Subscriber.
article.SchemaOption = article.SchemaOption Or _
CreationScriptOptions.Schema
If Not article.IsExistingObject Then
' Create the article.
article.Create()
Else
Throw New ApplicationException(String.Format( _
"The article {0} already exists in publication {1}.", _
articleName, publicationName))
End If
' Create an array of column names to remove from the article.
Dim columns() As String = New String(0) {}
columns(0) = "DaysToManufacture"
' Remove the column from the article.
article.RemoveReplicatedColumns(columns)
Catch ex As Exception
' Implement appropriate error handling here.
Throw New ApplicationException("The article could not be created.", ex)
Finally
conn.Disconnect()
End Try