DatabaseName プロパティ
パブリケーション データベースの名前を取得します。値の設定も可能です。
名前空間: Microsoft.SqlServer.Replication
アセンブリ: Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)
構文
'宣言
Public Property DatabaseName As String
Get
Set
'使用
Dim instance As Subscription
Dim value As String
value = instance.DatabaseName
instance.DatabaseName = value
public string DatabaseName { get; set; }
public:
property String^ DatabaseName {
String^ get ();
void set (String^ value);
}
member DatabaseName : string with get, set
function get DatabaseName () : String
function set DatabaseName (value : String)
プロパティ値
型: System. . :: . .String
String 値です。
説明
DatabaseName は必須プロパティであり、サーバーでサブスクリプションを作成する前に設定する必要があります。サーバーでサブスクリプションを登録した後に DatabaseName プロパティを変更することはできません。
SQL Server 以外のパブリッシャの場合、DatabaseName プロパティにディストリビューション データベースの名前を設定します。
DatabaseName プロパティを取得できるのは、パブリッシャ側の固定サーバー ロール sysadmin のメンバ、パブリケーション データベースの固定データベース ロール db_owner のメンバ、またはサブスクリプションを作成したユーザーだけです。
DatabaseName プロパティを設定できるのは、パブリッシャ側の固定サーバー ロール sysadmin のメンバ、またはパブリケーション データベースの固定データベース ロール db_owner のメンバだけです。
DatabaseName プロパティを取得すると、sp_helpsubscription または sp_helpmergesubscription を実行したのと同じことになります。
DatabaseName プロパティを設定すると、sp_addsubscription または sp_addmergesubscription を実行したのと同じことになります。
DatabaseName プロパティは、MicrosoftSQL Server 7.0、MicrosoftSQL Server 2000、および MicrosoftSQL Server 2005 で使用できます。
この名前空間、クラス、またはメンバは、Microsoft .NET Framework 2.0 でのみサポートされています。
使用例
// Define the Publisher, publication, and databases.
string publicationName = "AdvWorksProductTran";
string publisherName = publisherInstance;
string subscriberName = subscriberInstance;
string subscriptionDbName = "AdventureWorksReplica";
string publicationDbName = "AdventureWorks";
//Create a connection to the Publisher.
ServerConnection conn = new ServerConnection(subscriberName);
// Create the objects that we need.
TransPublication publication;
TransSubscription subscription;
try
{
// Connect to the Publisher.
conn.Connect();
// Ensure that the publication exists and that
// it supports push subscriptions.
publication = new TransPublication();
publication.Name = publicationName;
publication.DatabaseName = publicationDbName;
publication.ConnectionContext = conn;
if (publication.IsExistingObject)
{
if ((publication.Attributes & PublicationAttributes.AllowPush) == 0)
{
publication.Attributes |= PublicationAttributes.AllowPush;
}
// Define the push subscription.
subscription = new TransSubscription();
subscription.ConnectionContext = conn;
subscription.SubscriberName = subscriberName;
subscription.PublicationName = publicationName;
subscription.DatabaseName = publicationDbName;
subscription.SubscriptionDBName = subscriptionDbName;
// Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin;
subscription.SynchronizationAgentProcessSecurity.Password = winPassword;
// By default, subscriptions to transactional publications are synchronized
// continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand;
// Create the push subscription.
subscription.Create();
}
else
{
// Do something here if the publication does not exist.
throw new ApplicationException(String.Format(
"The publication '{0}' does not exist on {1}.",
publicationName, publisherName));
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException(String.Format(
"The subscription to {0} could not be created.", publicationName), ex);
}
finally
{
conn.Disconnect();
}
' Define the Publisher, publication, and databases.
Dim publicationName As String = "AdvWorksProductTran"
Dim publisherName As String = publisherInstance
Dim subscriberName As String = subscriberInstance
Dim subscriptionDbName As String = "AdventureWorksReplica"
Dim publicationDbName As String = "AdventureWorks"
'Create a connection to the Publisher.
Dim conn As ServerConnection = New ServerConnection(subscriberName)
' Create the objects that we need.
Dim publication As TransPublication
Dim subscription As TransSubscription
Try
' Connect to the Publisher.
conn.Connect()
' Ensure that the publication exists and that
' it supports push subscriptions.
publication = New TransPublication()
publication.Name = publicationName
publication.DatabaseName = publicationDbName
publication.ConnectionContext = conn
If publication.IsExistingObject Then
If (publication.Attributes And PublicationAttributes.AllowPush) = 0 Then
publication.Attributes = publication.Attributes _
Or PublicationAttributes.AllowPush
End If
' Define the push subscription.
subscription = New TransSubscription()
subscription.ConnectionContext = conn
subscription.SubscriberName = subscriberName
subscription.PublicationName = publicationName
subscription.DatabaseName = publicationDbName
subscription.SubscriptionDBName = subscriptionDbName
' Specify the Windows login credentials for the Distribution Agent job.
subscription.SynchronizationAgentProcessSecurity.Login = winLogin
subscription.SynchronizationAgentProcessSecurity.Password = winPassword
' By default, subscriptions to transactional publications are synchronized
' continuously, but in this case we only want to synchronize on demand.
subscription.AgentSchedule.FrequencyType = ScheduleFrequencyType.OnDemand
' Create the push subscription.
subscription.Create()
Else
' Do something here if the publication does not exist.
Throw New ApplicationException(String.Format( _
"The publication '{0}' does not exist on {1}.", _
publicationName, publisherName))
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException(String.Format( _
"The subscription to {0} could not be created.", publicationName), ex)
Finally
conn.Disconnect()
End Try