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 для существующей статьи.
Когда вы устанавливаете DatabaseName свойство значением null , значением с null символами или значением, превышающим 128-символы Unicode.
Примеры
// 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 фиксированного сервера в Publisher и у Subscriber (для повторной публикации подписчиков). Её также могут получить члены db_owner фиксированной роли базы данных в базе публикаций и пользователи, являющиеся членами PAL. Для объекта MergeArticle это свойство также может быть получено членами replmonitor фиксированной роли базы данных на Дистрибьюторе.
Свойство DatabaseName может быть зададено участниками роли sysadmin фиксированного сервера в Publisher. Он также может быть установлен членами db_owner фиксированной роли базы данных в базе публикации.
Извлечение DatabaseName эквивалентно выполнению sp_helparticle (Transact-SQL) для транзакционной или снимковой репликации или выполнению sp_helpmergearticle (Transact-SQL) для репликации слияния.
Настройка DatabaseName эквивалентна выполнению sp_addarticle (Transact-SQL) для транзакционной или снимковой репликации, или выполнению sp_addmergearticle (Transact-SQL) для репликации слияния.