Article.PublicationName Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el nombre de la publicación a la que pertenece el artículo.
public:
property System::String ^ PublicationName { System::String ^ get(); void set(System::String ^ value); };
public string PublicationName { get; set; }
member this.PublicationName : string with get, set
Public Property PublicationName As String
Valor de propiedad
Nombre de la publicación.
Excepciones
Al intentar establecer la PublicationName propiedad para un artículo existente.
Al establecer la PublicationName propiedad en un null
valor, en un valor con null
caracteres o en un valor de más de 128 caracteres Unicode.
Ejemplos
// 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
Comentarios
La PublicationName propiedad es una propiedad de lectura y escritura, por lo que es necesario establecerla antes de crear el objeto.
La PublicationName propiedad debe establecerse antes de llamar al Create método para crear el artículo en el servidor. Si se intenta establecer esta propiedad para un artículo existente, se genera una excepción.
Los PublicationName miembros del rol fijo de servidor pueden recuperar la sysadmin
propiedad en el publicador y en el suscriptor (para volver a publicar suscriptores). También pueden recuperarse los miembros del rol fijo de db_owner
base de datos en la base de datos de publicación y los usuarios que son miembros de la PAL. Para un MergeArticle objeto, esta propiedad también se puede recuperar mediante miembros del replmonitor
rol fijo de base de datos en el distribuidor.
Los PublicationName miembros del rol fijo de servidor pueden establecer la sysadmin
propiedad en el publicador. También puede establecerlo los miembros del db_owner
rol fijo de base de datos en la base de datos de publicación.
La PublicationName recuperación equivale a ejecutar sp_helparticle (Transact-SQL) para la replicación transaccional o de instantáneas o para ejecutar sp_helpmergearticle (Transact-SQL) para la replicación de mezcla.
La configuración PublicationName es equivalente a ejecutar sp_addarticle (Transact-SQL) para la replicación transaccional o de instantáneas o para ejecutar sp_addmergearticle (Transact-SQL) para la replicación de mezcla.