Article.PublicationName Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erhält oder setzt den Namen der Publikation, zu der der Artikel gehört.
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
Eigenschaftswert
Der Name der Veröffentlichung.
Ausnahmen
Wenn Sie versuchen, die PublicationName Eigenschaft für einen bestehenden Aufsatz festzulegen.
Wenn man die PublicationName Eigenschaft auf einen null Wert, einen Wert mit null Zeichen oder einen Wert länger als 128 Unicode-Zeichen setzt.
Beispiele
// 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
Hinweise
Die Eigenschaft PublicationName ist eine Lese-/Schreibeigenschaft, daher ist es notwendig, sie vor der Erstellung des Objekts zu setzen.
Die Eigenschaft PublicationName muss gesetzt werden, bevor die Methode Create aufgerufen wird, um den Artikel auf dem Server zu erstellen. Der Versuch, diese Eigenschaft für einen bestehenden Artikel zu setzen, erzeugt eine Ausnahme.
Die Eigenschaft PublicationName kann von Mitgliedern der Fixed-Server-Rolle sysadmin beim Publisher und beim Subscriber (für die Neuveröffentlichung von Subscribers) abgerufen werden. Sie kann auch von Mitgliedern der db_owner festen Datenbankrolle in der Publikationsdatenbank sowie von Nutzern, die Mitglieder des PAL sind, abgerufen werden. Für ein MergeArticle Objekt kann diese Eigenschaft auch von Mitgliedern der replmonitor festen Datenbankrolle auf dem Distributor abgerufen werden.
Die Eigenschaft PublicationName kann von Mitgliedern der sysadmin festen Serverrolle beim Publisher festgelegt werden. Sie kann auch von Mitgliedern der db_owner festen Datenbankrolle in der Publikationsdatenbank festgelegt werden.
Das Abrufen PublicationName entspricht dem Ausführen von sp_helparticle (Transact-SQL) für transaktionale oder Snapshot-Replikation oder der Ausführung von sp_helpmergearticle (Transact-SQL) für die Merge-Replikation.
Das Setzen PublicationName ist gleichbedeutend damit, sp_addarticle (Transact-SQL) für transaktionale oder snapshot-Replikation auszuführen oder sp_addmergearticle (Transact-SQL) für Merge-Replikation auszuführen.