구독 삭제

Subscription 클래스의 Delete 메서드는 응용 프로그램 데이터베이스의 기본 구독 레코드를 삭제합니다. 아래 예에서는 구독을 삭제하기 위해 관리 코드를 사용하는 방법과 COM interop을 나타내는 Microsoft VBScript(Visual Basic Scripting Edition)를 사용하는 방법을 보여 줍니다.

관리 코드 예

다음 예에서는 SubscriptionEnumeration 개체 및 GetFieldValue 메서드를 사용하여 특정 구독을 찾은 후 삭제하는 방법을 보여 줍니다. 이 예제에서는 City 값이 Edmonds인 모든 구독자의 구독을 삭제합니다.

사용자 인터페이스를 개발할 경우 SubscriptionEnumeration 클래스를 사용하여 모든 구독자의 구독을 나열하고 구독자가 구독을 선택한 후 삭제하도록 할 수 있습니다.

// Create the NSInstance object.
NSInstance testInstance = new NSInstance("Tutorial");

// Create the NSApplication object.
NSApplication testApplication =
    new NSApplication(testInstance, "Weather");

// Create the Subscription object.
Subscription testSubscription =
    new Subscription(testApplication, "WeatherCity");


// Create a SubscriptionEnumeration object.
// that contains all of the subscriber's subscriptions
// in a specific subscription class
SubscriptionEnumeration testSubscriptionEnumeration =
    new SubscriptionEnumeration(testApplication,
        "WeatherCity", "TestUser1");

// Iterate through the subscriptions, finding the subscription
// that you want to delete.
foreach (Subscription subscription in testSubscriptionEnumeration)
{
    String city = subscription.GetFieldValue("City").ToString();
    if (city.Equals("Edmonds"))
        testSubscription.SubscriptionId = subscription.SubscriptionId;
}

// Delete the subscription
testSubscription.Delete();

COM Interop 예

다음 VBScript 코드 예에서는 COM interop을 사용하여 구독을 삭제하는 방법을 보여 줍니다. COM interop을 사용할 때는 먼저 개체를 만든 후 초기화해야 합니다. 나머지 코드는 위의 관리 코드 예와 비슷합니다.

Dim testInstance, testApplication, testSubscriptionEnumeration

const instanceName = "Tutorial"
const applicationName = "Weather"
const subscriptionClassName = "WeatherCity"

' Create the NSInstance object.
set testInstance = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.NSInstance")
testInstance.Initialize instanceName

' Create the NSApplication object.
set testApplication = WScript.CreateObject( _
    "Microsoft.SqlServer.NotificationServices.NSApplication")
testApplication.Initialize (testInstance), applicationName

' Create the SubscriptionEnumeration object.
' This constructor returns the subscriptions for
' the specified application, subscription class, and subscriber.
set testSubscriptionEnumeration = WScript.CreateObject( _ 
    "Microsoft.SqlServer.NotificationServices.SubscriptionEnumeration")
testSubscriptionEnumeration.Initialize (testApplication), _ 
    subscriptionClassName, "TestUser1"

' Step through the subscriptions, locate the one 
' that should be removed, and delete it.
for each thisSubscription in testSubscriptionEnumeration
    if thisSubscription.GetFieldValue("City") = "Orlando" then
        thisSubscription.Delete
    end if
next

wscript.echo "Subscriber deleted."

참고 항목

개념

구독 개체 만들기
구독 추가
구독 업데이트
구독 필드 정보 가져오기
구독자 로캘 목록 채우기
표준 시간대 목록 채우기

관련 자료

NS<SubscriptionClassName>View

도움말 및 정보

SQL Server 2005 지원 받기