3단원: 이벤트 클래스 추가
이 단원에서는 ADF(응용 프로그램 정의 파일)에 이벤트 클래스를 추가한 다음 Notification Services 인스턴스를 업데이트하여 변경 내용을 응용 프로그램 데이터베이스에 적용하는 방법에 대해 설명합니다. 그런 후 응용 프로그램 데이터베이스의 변경 내용을 검토할 수 있습니다.
이벤트 클래스 소개
이벤트 클래스는 Notification Services 응용 프로그램에서 사용한 하나의 이벤트 유형을 나타냅니다. 이벤트 클래스를 정의하면 응용 프로그램에 전송하고 알림 생성에 사용할 수 있는 이벤트 유형이 정의됩니다. 이벤트 클래스 정의는 이벤트 필드 이름, 데이터 형식 및 유형 한정자를 포함합니다.
이벤트 클래스를 사용하여 이벤트 데이터 인덱스와 보조 테이블과 같은 다른 정보를 정의할 수 있습니다. 이벤트 클래스에 대한 자세한 내용은 이벤트 클래스 정의를 참조하십시오.
응용 프로그램을 만들 때 Notification Services에서는 이벤트 클래스 정의를 사용하여 테이블, 뷰, 인덱스 및 이벤트 데이터 저장, 수집과 관리를 위한 저장 프로시저를 만듭니다.
WeatherData 이벤트 클래스
이 응용 프로그램에서는 WeatherData 이벤트 클래스를 ADF에 추가합니다. 이 이벤트 클래스에는 5개의 이벤트 필드인 City, Date, Low, High 및 Forecast가 있습니다. 이러한 필드는 나중에 응용 프로그램에 전송될 이벤트 데이터를 설명합니다. 이벤트 클래스에서는 이벤트 필드마다 필드 이름, 데이터 형식 및 필드 한정자를 정의합니다.
또한 이벤트 클래스에서는 알림 생성의 성능을 향상시키기 위해 WeatherData 이벤트 클래스의 City 필드에 인덱스를 지정합니다.
ADF에 이벤트 클래스 XML 추가
이 섹션의 XML에서는 이벤트 클래스를 정의합니다. XML을 검토한 후 지침에 따라 XML을 ADF로 복사합니다.
ADF에 이벤트 클래스 XML을 추가하려면
코드 복사를 클릭하여 XML을 Windows 클립보드로 복사합니다.
<!-- Event Classes --> <EventClasses> <EventClass> <EventClassName>WeatherData</EventClassName> <Schema> <Field> <FieldName>City</FieldName> <FieldType>nvarchar(35)</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Date</FieldName> <FieldType>datetime</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Low</FieldName> <FieldType>float</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>High</FieldName> <FieldType>float</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> <Field> <FieldName>Forecast</FieldName> <FieldType>nvarchar(3500)</FieldType> <FieldTypeMods>not null</FieldTypeMods> </Field> </Schema> <IndexSqlSchema> <SqlStatement>CREATE INDEX myIndex ON WeatherData ( City ); </SqlStatement> </IndexSqlSchema> </EventClass> </EventClasses>
솔루션 탐색기에서 WeatherADF.xml을 엽니다.
다음 주석을 방금 복사한 XML로 바꿉니다.
<!-- Replace with EventClasses XML -->
파일 메뉴에서 WeatherADF.xml 저장을 선택합니다.
Notification Services 인스턴스 업데이트
ADF를 수정한 후 Notification Services 인스턴스를 업데이트하여 응용 프로그램 데이터베이스에 이벤트 클래스 개체를 추가합니다.
Notification Services 인스턴스를 업데이트하려면
개체 탐색기에서 Notification Services를 확장합니다.
Tutorial을 마우스 오른쪽 단추로 클릭하고 작업을 가리킨 다음 업데이트를 선택합니다.
인스턴스 업데이트 대화 상자에서 찾아보기를 클릭하고 TutorialICF.xml 파일을 선택한 다음 열기를 클릭합니다.
매개 변수 표에서 매개 변수 값을 검토합니다.
2단원에서 필요에 따라 값을 수정했으므로 값이 정확해야 합니다. 해당 값을 편집해야 할 경우에는 2단원으로 돌아가서 ICF의 매개 변수 기본값을 편집하는 방법에 대해 알아 봅니다.
확인을 클릭합니다.
Notification Services - 업데이트 요약 대화 상자를 검토한 후 업데이트를 클릭합니다.
업데이트 작업이 완료되면 닫기를 클릭합니다.
응용 프로그램 데이터베이스의 변경 내용 검토
인스턴스를 업데이트하면 Notification Services에서는 테이블, 뷰 및 이벤트 클래스의 저장 프로시저를 TutorialWeather 응용 프로그램 데이터베이스에 추가합니다.
- dbo.WeatherData 이벤트 뷰는 응용 프로그램에서 처리 중인 현재 이벤트 집합입니다. 나중에 알림 생성 쿼리를 작성할 때 이 뷰에서 데이터를 선택합니다.
- dbo.NSWeatherDataEvents 테이블은 이벤트 클래스의 이벤트 데이터를 포함한 기본 테이블입니다. 이벤트 데이터는 vacuumer 데이터 제거 프로세스에 의해 제거될 때까지 이 테이블에 있습니다.
주의: 응용 프로그램과 인스턴스 데이터베이스의 데이터를 직접 수정하지 마십시오. 이벤트 데이터를 추가하려면 기본 제공 이벤트 공급자, 이벤트 전송 저장 프로시저 또는 API와 같은 지원되는 이벤트 전송 메서드 중 하나를 사용해야 합니다. 자세한 내용은 이벤트 공급자 정의를 참조하십시오.
개체 탐색기를 사용하여 TutorialWeather 데이터베이스에서 이러한 개체를 검토할 수 있습니다. 새 개체를 확인하기 위해 개체 탐색기를 새로 고쳐야 할 수 있습니다.
다음 단원
참고 항목
개념
관련 자료
이벤트 클래스 정의
알림 솔루션 빌드
SQL Server Notification Services 소개