Поделиться через


Article.DatabaseName Свойство

Определение

Возвращает или задает имя базы данных, которая содержит данные и объекты, опубликованные в статье.

public:
 property System::String ^ DatabaseName { System::String ^ get(); void set(System::String ^ value); };
public string DatabaseName { get; set; }
member this.DatabaseName : string with get, set
Public Property DatabaseName As String

Значение свойства

Имя базы данных публикации.

Исключения

При попытке DatabaseName задать свойство для существующей статьи.

Если для свойства задано DatabaseNamenull значение, значение с null символами или значение длиннее 128 символов Юникода.

Примеры

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

Комментарии

Свойство DatabaseName является свойством чтения и записи.

Свойство DatabaseName должно быть задано перед вызовом Create метода для создания статьи на сервере. Попытка задать это свойство для существующей статьи создает исключение.

Свойству DatabaseName должно быть присвоено имя базы данных распространителя для публикаций, не SQL Server.

Свойство DatabaseName может быть получено членами sysadmin предопределенных ролей сервера на издателе и подписчике (для повторной публикации подписчиков). Его также могут получить члены db_owner предопределенных ролей базы данных в базе данных публикации и пользователи, являющиеся членами pal. MergeArticle Для объекта это свойство также может быть получено членами предопределенных replmonitor ролей базы данных распространителя.

Свойство DatabaseName может быть задано членами предопределенных sysadmin ролей сервера на издателе. Его также могут задать члены предопределенных db_owner ролей базы данных в базе данных публикации.

DatabaseName Получение эквивалентно выполнению sp_helparticle (Transact-SQL) для репликации транзакций или моментальных снимков или выполнению sp_helpmergearticle (Transact-SQL) для репликации слиянием.

Параметр DatabaseName эквивалентен выполнению sp_addarticle (Transact-SQL) для репликации транзакций или моментальных снимков или выполнению sp_addmergearticle (Transact-SQL) для репликации слиянием.

Применяется к

См. также раздел