EmailLogProvider 예제
새 설치: 2006년 4월 14일
EmailLogProvider 예제는 로깅 출력을 일반 텍스트 또는 HTML 형식의 전자 메일 메시지로 전송하는 사용자 지정 로그 공급자인 전자 메일 로그 공급자를 만드는 방법을 보여 줍니다. 이 예제는 Itanium 기반 운영 체제에서 지원되지 않습니다.
사용자 지정 로그 공급자를 만드는 방법은 Creating a Custom Log Provider를 참조하십시오. Integration Services의 로그 공급자 사용에 대한 일반적인 내용은 Integration Services 로그 공급자를 참조하십시오.
이 사용자 지정 로그 공급자에는 SMTP 서버, 받는 사람 주소, 보낸 사람 주소 및 메시지가 텍스트인지 아니면 HTML 형식인지 여부를 지정하는 세미콜론으로 구분된 문자열 목록이 필요합니다. 이 로그 공급자는 로깅된 이벤트를 캐시하고 패키지 실행이 끝나면 캐시된 출력을 메일 메시지의 본문으로 전송합니다. 올바르게 표시될 수 없는 이진 데이터를 포함하는 두 개의 최종 표준 열(dataCode 및 dataBytes)은 무시됩니다. 이 예제에서는 다시 사용하는 데 편리하도록 텍스트 로깅 코드를 별개의 TextLogWriter 클래스에 캡슐화하고 HTML 로깅 코드를 별개의 HtmlLogWriter 클래스에 캡슐화합니다. 이러한 도우미 클래스는 각각 OpenLog, Log 및 CloseLog에서 호출되는 OpenLog<format>, Log<format> 및 CloseLog<format> 서브루틴을 가집니다.
이 코드 예제는 다음 기능을 구현합니다.
- LogProviderBase 클래스 재정의
- 개발자가 사용자 지정 지속성 코드를 작성할 필요가 없는 기본 지속성 지원
중요: |
---|
예제는 교육용으로만 제공되므로 프로덕션 환경에서 사용하기에 적합하지 않으며 프로덕션 환경에서 테스트를 수행하지 않았습니다. Microsoft에서는 이러한 예제에 대해 기술 지원을 제공하지 않습니다. |
예제 실행
코드 예제를 찾고, 빌드하고, 설치하는 방법을 이미 알고 있는 경우 예제 테스트 섹션으로 직접 이동하여 코드 예제를 구성하고 실행하는 방법을 참조할 수 있습니다.
필수 구성 요소
이 예제를 실행하려면 다음 구성 요소가 설치되어 있어야 합니다.
- Microsoft Visual Studio 2005
- Microsoft SQL Server 2005 Integration Services
또한 이 예제를 사용하려면 메일 기능에 사용할 수 있는 SMTP 서버가 필요합니다.
위치
코드 예제가 기본 위치에 설치되었으면 예제는 다음 디렉터리에 있습니다.
C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\EmailLogProvider Sample
코드 예제에 대한 C# 솔루션은 CS 디렉터리에 있으며 Visual Basic 솔루션은 VB 디렉터리에 있습니다.
예제를 설치하는 데 필요한 두 단계의 작업에 대한 자세한 내용은 예제 설치를 참조하십시오. SQL Server 2005 첫 릴리스 이후에 릴리스된 새 예제를 포함하여 최신 버전의 예제를 얻으려면 SQL Server 2005 예제 및 예제 데이터베이스(2006년 4월)를 참조하십시오.
예제 빌드
Samples 폴더에 아직 강력한 이름의 키 파일을 생성하지 않은 경우 다음 절차를 사용하여 해당 키 파일을 생성합니다. 예제 프로젝트는 프로젝트 속성 대화 상자의 서명 탭에서 빌드 시 이 키 파일을 사용하여 어셈블리를 서명하도록 구성됩니다.
강력한 이름의 키 파일을 생성하려면
Microsoft Visual Studio 2005 명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft Visual Studio 2005, Visual Studio 도구를 차례로 가리킨 다음 Visual Studio 2005 명령 프롬프트를 클릭합니다.
-또는-
Microsoft .NET Framework 명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft .NET Framework SDK v2.0을 차례로 가리킨 다음 SDK 명령 프롬프트를 클릭합니다.
명령 프롬프트에서 CD(디렉터리 변경) 명령을 사용하여 명령 프롬프트의 현재 폴더를 Samples 폴더로 변경합니다. 이 폴더에 만드는 키 파일은 모든 SQL Server 2005 코드 예제에서 사용됩니다.
[!참고] 예제가 있는 폴더를 확인하려면 시작을 클릭하고 모든 프로그램, Microsoft SQL Server 2005, 설명서 및 자습서를 차례로 가리킨 다음 예제 디렉터리를 클릭합니다. 기본 설치 위치가 사용된 경우 예제는 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples에 있습니다.
명령 프롬프트에서 다음 명령을 실행하여 키 파일을 생성합니다.
sn -k SampleKey.snk
중요: 강력한 이름의 키 쌍에 대한 자세한 내용은 MSDN의 .NET Development Center에서 "보안 정보: .NET Framework의 강력한 이름 및 보안(Security Briefs: Strong Names and Security in the .NET Framework)"을 참조하십시오.
Microsoft Visual Studio 2005에서 예제를 빌드하려면
파일 | 열기 메뉴에서 프로젝트를 클릭하고 EmailLogProviderVB.sln 또는 EmailLogProviderCS.sln을 엽니다.
빌드 메뉴에서 솔루션 빌드를 클릭하여 솔루션을 빌드합니다.
예제 설치
이 예제는 Visual Basic과 C#의 두 버전이 모두 제공됩니다. 각 예제 버전에 대한 어셈블리를 구분하기 위해 출력 어셈블리의 이름에 CS 또는 VB가 추가됩니다. 구성 요소를 빌드한 후에는 해당 구성 요소를 다음 단계를 따라 Business Intelligence Development Studio의 패키지에 연결 관리자로 추가합니다.
Connections 폴더에 구성 요소를 복사하려면
Windows 탐색기를 열거나 파일 시스템에서 작업할 원하는 응용 프로그램을 엽니다.
어셈블리(EmailLogProviderCS.dll 또는 EmailLogProviderVB.dll)를 %system%\Program Files\Microsoft SQL Server\90\DTS에 있는 LogProviders 폴더로 복사합니다.
어셈블리를 끌어 오는 방식으로 GAC(전역 어셈블리 캐시)에 구성 요소를 설치하려면
Windows 탐색기를 열거나 파일 시스템에서 작업할 원하는 응용 프로그램을 엽니다.
어셈블리를 LogProviders 폴더에서 %system%\assembly의 GAC(전역 어셈블리 캐시)가 있는 폴더로 끕니다.
gacutil.exe를 사용하여 GAC(전역 어셈블리 캐시)에 구성 요소를 설치하려면
명령 프롬프트 창을 엽니다.
다음 명령을 입력하여 C# 버전의 구성 요소를 GAC에 설치합니다.
gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\CS\EmailLogProviderCS\bin\Debug\EmailLogProviderCS.dll"
-또는-
다음 명령을 입력하여 Visual Basic 버전의 구성 요소를 GAC에 설치합니다.
gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\VB\EmailLogProviderVB\bin\Debug\EmailLogProviderVB.dll"
예제 테스트
이제 패키지에 있는 사용자 지정 로그 공급자를 테스트할 수 있습니다.
패키지에 있는 예제 로그 공급자를 사용하려면
사용할 수 있는 SMTP 서버의 이름을 확인합니다.
SSIS 메뉴에서 로깅을 선택하고 메일 메시지용 사용자 지정 로그 공급자(CS) 또는 메일 메시지용 사용자 지정 로그 공급자(VB)를 추가합니다. 텍스트 및 HTML 출력 형식을 모두 테스트할 수 있도록 로그 공급자의 두 인스턴스를 구성할 수도 있습니다.
구성 열에서 SMTP 서버, 받는 사람 주소, 보낸 사람 주소 및 메시지가 텍스트인지 아니면 HTML 형식인지 여부를 지정하는 세미콜론으로 구분된 4개의 문자열 목록을 입력합니다. 예를 들면 다음과 같습니다.
smtpserver;joe@northwind.com;joe@northwind.com;html
패키지와 해당 구성 요소가 이벤트를 사용자 지정 로그 공급자에 기록하도록 로깅을 적절하게 구성합니다.
패키지를 실행한 다음 메일 프로그램에서 로깅 출력이 포함된 메일 메시지를 확인합니다.