다음을 통해 공유


Article.PublicationName 속성

정의

아티클이 속한 게시의 이름을 가져오거나 설정합니다.

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

속성 값

게시의 이름입니다.

예외

기존 아티클의 PublicationName 속성을 설정하려고 하면

속성을 값, 문자가 있는 nullnull 또는 128자보다 긴 값으로 설정하는 PublicationName 경우

예제

// 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

설명

속성은 PublicationName 읽기/쓰기 속성이므로 개체를 만들기 전에 설정해야 합니다.

PublicationName 서버에 아티클을 만들려면 메서드를 Create 호출하기 전에 속성을 설정해야 합니다. 기존 아티클에 대해 이 속성을 설정하려고 하면 예외가 생성됩니다.

게시 PublicationName 자 및 구독자(구독자 다시 게시용 sysadmin )에서 고정 서버 역할의 멤버가 속성을 검색할 수 있습니다. 게시 데이터베이스의 고정 데이터베이스 역할 멤버 및 PAL의 db_owner 멤버인 사용자가 검색할 수도 있습니다. 개체의 MergeArticle 경우 배포자에서 고정 데이터베이스 역할의 replmonitor 멤버가 이 속성을 검색할 수도 있습니다.

게시 PublicationName 자에서 고정 서버 역할의 멤버가 sysadmin 속성을 설정할 수 있습니다. 게시 데이터베이스에서 고정 데이터베이스 역할의 db_owner 멤버가 설정할 수도 있습니다.

PublicationName 검색은 트랜잭션 또는 스냅샷 복제를 위해 sp_helparticle(Transact-SQL)를 실행하거나 병합 복제를 위해 sp_helpmergearticle(Transact-SQL)를 실행하는 것과 같습니다.

설정 PublicationName 은 트랜잭션 또는 스냅샷 복제를 위해 sp_addarticle(Transact-SQL) 를 실행하거나 병합 복제를 위해 sp_addmergearticle(Transact-SQL) 를 실행하는 것과 같습니다.

적용 대상