Article.DatabaseName Propriété

Définition

Obtient ou définit le nom de la base de données qui contient les données et les objets publiés dans l'article.

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

Valeur de propriété

Nom de la base de données de publication.

Exceptions

Lorsque vous tentez de définir la DatabaseName propriété d’un article existant.

Lorsque vous définissez la DatabaseName propriété sur une null valeur, sur une valeur avec null des caractères ou sur une valeur supérieure à 128 caractères Unicode.

Exemples

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

Remarques

La DatabaseName propriété est une propriété en lecture/écriture.

La DatabaseName propriété doit être définie avant que la Create méthode soit appelée pour créer l’article sur le serveur. La tentative de définition de cette propriété pour un article existant génère une exception.

La DatabaseName propriété doit être définie sur le nom de la base de données de distribution pour les publications non SQL Server.

La DatabaseName propriété peut être récupérée par les membres du sysadmin rôle serveur fixe sur le serveur de publication et sur l’Abonné (pour la republier des Abonnés). Il peut également être récupéré par les membres du rôle de base de db_owner données fixe sur la base de données de publication et par les utilisateurs membres du PAL. Pour un MergeArticle objet, cette propriété peut également être récupérée par les membres du rôle de base de replmonitor données fixe sur le serveur de distribution.

La DatabaseName propriété peut être définie par les membres du sysadmin rôle serveur fixe sur le serveur de publication. Il peut également être défini par les membres du db_owner rôle de base de données fixe sur la base de données de publication.

La récupération DatabaseName équivaut à l’exécution de sp_helparticle (Transact-SQL) pour la réplication transactionnelle ou d’instantané ou à l’exécution de sp_helpmergearticle (Transact-SQL) pour la réplication de fusion.

Le paramètre DatabaseName équivaut à l’exécution de sp_addarticle (Transact-SQL) pour la réplication transactionnelle ou d’instantané, ou à l’exécution de sp_addmergearticle (Transact-SQL) pour la réplication de fusion.

S’applique à

Voir aussi