다음을 통해 공유


ForEachDirectory 예제

업데이트: 2005년 12월 5일

이 코드 예제에서는 사용자 지정 열거자와 사용자 지정 사용자 인터페이스를 만들어 .NET Framework 및 관리 코드를 사용하는 열거자의 속성을 설정하는 방법을 보여 줍니다. 이 예제는 IA64에서 지원되지 않습니다.

예제 실행

코드 예제를 찾고, 빌드하고, 설치하는 방법을 이미 알고 있는 경우 예제 테스트 섹션으로 직접 이동하여 코드 예제를 구성하고 실행하는 방법을 참조할 수 있습니다.

필수 구성 요소

ForEachDirectory 예제를 실행하려면 다음 구성 요소가 설치되어 있어야 합니다.

  • .NET Framework SDK 2.0 또는 Microsoft Visual Studio 2005. .NET Framework SDK는 무료로 구할 수 있습니다. 온라인 설명서의 .NET Framework SDK 설치 항목을 참조하십시오.
  • Microsoft SQL Server 2005 Integration Services
ms160909.note(ko-kr,SQL.90).gif중요:
예제는 교육용으로만 제공되므로 프로덕션 환경에서 사용하기에 적합하지 않으며 프로덕션 환경에서 테스트를 수행하지 않았습니다. Microsoft에서는 이러한 예제에 대해 기술 지원을 제공하지 않습니다.

위치

코드 예제가 기본 위치에 설치되었으면 예제는 다음 디렉터리에 있습니다.

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\ForEachDirectory Sample

코드 예제에 대한 C# 솔루션은 CS 디렉터리에 있으며 Visual Basic 솔루션은 VB 디렉터리에 있습니다.

예제를 설치하는 데 필요한 두 단계의 작업에 대한 자세한 내용은 예제 설치를 참조하십시오. SQL Server 2005 첫 릴리스 이후에 릴리스된 새 예제를 포함하여 최신 버전의 예제를 얻으려면 SQL Server 2005 예제 및 예제 데이터베이스(2006년 4월)를 참조하십시오.

예제 빌드

아직 강력한 이름의 키 파일을 생성하지 않은 경우 다음 절차를 사용하여 해당 키 파일을 생성합니다.

강력한 이름의 키 파일을 생성하려면

  1. Microsoft Visual Studio 2005 명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft Visual Studio 2005, Visual Studio 도구를 차례로 가리킨 다음 Visual Studio 2005 명령 프롬프트를 클릭합니다.

    - 또는 -

    Microsoft .NET Framework 명령 프롬프트를 열려면 시작을 클릭하고 모든 프로그램, Microsoft .NET Framework SDK 2.0을 차례로 가리킨 다음 SDK 명령 프롬프트를 클릭합니다.

  2. 명령 프롬프트에서 CD(디렉터리 변경) 명령을 사용하여 명령 프롬프트 창의 현재 폴더를 Samples 폴더로 변경합니다. 이 폴더에 만드는 키 파일은 모든 Microsoft SQL Server 2005 코드 예제에서 사용됩니다.

    [!참고] 예제가 있는 폴더를 확인하려면 시작을 클릭하고 모든 프로그램, Microsoft SQL Server 2005, 설명서 및 자습서를 차례로 가리킨 다음 예제 디렉터리를 클릭합니다. 기본 설치 위치가 사용된 경우 예제는 <system_drive>:\Program Files\Microsoft SQL Server\90\Samples에 있습니다.

  3. 명령 프롬프트에서 다음 명령을 실행하여 키 파일을 생성합니다.

    sn -k SampleKey.snk

    ms160909.note(ko-kr,SQL.90).gif중요:
    강력한 이름의 키 쌍에 대한 자세한 내용은 MSDN의 .NET Development Center에서 "보안 정보: .NET Framework의 강력한 이름 및 보안(Security Briefs: Strong Names and Security in the .NET Framework)"을 참조하십시오.
  4. 후속 단계에서는 키 파일의 공개 키 토큰이 필요합니다. 공개 키 토큰을 가져오려면 우선 명령 프롬프트에서 다음 명령을 실행하여 키 파일에서 공개 키를 추출합니다.

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. 명령 프롬프트에서 다음 명령을 실행하여 공개 키 토큰을 표시합니다.

    sn -t SampleKeyPublic.snk

  6. 공개 키 토큰을 클립보드에 복사하거나 나중에 사용할 수 있도록 저장합니다.

예제를 빌드하려면

  1. Microsoft Visual Studio 2005를 엽니다.

  2. 파일 | 열기 메뉴에서 프로젝트를 클릭하고 원하는 Samples 디렉터리(C# 언어인 경우 CS, Visual Basic 언어인 경우 VB)에서 ForEachDirectory.sln을 엽니다.

  3. 솔루션 탐색기에서 ForEachDirectory.cs 또는 ForEachDirectory.vb 코드를 선택합니다.

  4. 코드에서 DtsTask 특성을 찾습니다. 해당 코드 줄에 있는 IncrementTask.cs의 UITypeName 특성 속성에서 공개 키 토큰의 기존 값을 바꿉니다. "PublicKeyToken =" 뒤의 영숫자 값을 이전 단계에서 sn -t 명령에 표시된 값으로 바꿔야 합니다.

  5. 메뉴에서 빌드 / ForEachDirectory 빌드를 클릭하여 프로젝트의 DLL을 빌드합니다.

ForEachEnumerator 폴더 및 전역 어셈블리 캐시에 DLL 설치

이 예제는 Visual Basic과 C# 버전으로 제공됩니다. 각 예제 버전에 대한 어셈블리를 구분하기 위해 출력 어셈블리의 이름에 CS 또는 VB가 추가됩니다. 구성 요소를 빌드했으면 해당 구성 요소를 ForEachEnumerators 폴더로 복사한 다음 전역 어셈블리 캐시에 추가하여 Business Intelligence Development Studio에서 사용할 수 있도록 해야 합니다.

구성 요소를 ForEachEnumerators 폴더에 설치하려면

  1. 어셈블리(ForeachDirectoryCS.dll 또는 ForeachDirectoryVB.dll)를 %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators에 있는 폴더로 복사합니다.

  2. %system%\assembly에서 전역 어셈블리 캐시의 디렉터리를 엽니다. 대부분의 컴퓨터에서 이 디렉터리는 C:\Windows\assembly입니다.

  3. 첫 번째 창에서 어셈블리를 선택한 다음 assembly 폴더를 포함하는 창으로 끌어서 놓습니다.

어셈블리를 끌어서 놓는 방법으로 전역 어셈블리 캐시에 구성 요소를 설치하려면

  1. 어셈블리(ForeachDirectoryCS.dll 또는 ForeachDirectoryVB.dll)를 %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators에 있는 폴더로 복사합니다.

  2. %system%\assembly에서 전역 어셈블리 캐시의 디렉터리를 엽니다. 대부분의 컴퓨터에서 이 디렉터리는 C:\Windows\assembly입니다.

  3. 첫 번째 창에서 어셈블리를 선택한 다음 assembly 폴더를 포함하는 창으로 끌어서 놓습니다.

gacutil.exe를 사용하여 전역 어셈블리 캐시에 구성 요소를 설치하려면

  1. 명령 프롬프트 창을 엽니다.

  2. 다음 명령을 입력하여 C# 버전의 구성 요소와 사용자 인터페이스를 전역 어셈블리 캐시에 설치합니다.

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ ForEachEnumerators\ForEachDirectoryCS.dll"

  3. 다음 명령을 입력하여 Visual Basic 버전의 구성 요소와 사용자 인터페이스를 전역 어셈블리 캐시에 설치합니다.****

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ForeachEnumerators\ForeachDirectoryVB.dll"

참고 간단히 하기 위해 이 예제에 대한 사용자 인터페이스를 작업 코드와 같은 프로젝트에 넣었으므로 DLL을 어셈블리 디렉터리에 복사하기만 하면 됩니다. 사용자 인터페이스를 다른 프로젝트에 코딩할 경우 코드를 포함하는 DLL과 사용자 인터페이스를 포함하는 DLL을 전역 어셈블리 캐시에 추가해야 합니다. 그러나 해당 코드는 특정 디렉터리로 컴파일해야 합니다.

이러한 단계를 완료한 후에는 Foreach 루프 컨테이너의 Foreach 루프 편집기에서 열거자를 사용할 수 있습니다.

Business Intelligence Development Studio에서 예제를 사용하려면

  1. Business Intelligence Development Studio를 엽니다.

  2. 메뉴에서 파일 > 새로 만들기 > 프로젝트를 클릭합니다.

  3. 새 프로젝트 대화 상자의 프로젝트 형식에서 비즈니스 인텔리전스 프로젝트를 클릭하고 오른쪽 창에서 Integration Services 프로젝트를 클릭합니다.

  4. 이름 입력란에 새 프로젝트의 이름으로 ForEachDirectory를 입력합니다.

  5. 위치 상자에서 파일을 저장할 위치를 선택합니다. 확인을 클릭합니다.

  6. 솔루션 탐색기 대화 상자에서 Package.dtsx를 두 번 클릭합니다.

  7. 위치 상자에서 파일을 저장할 위치를 선택합니다. 확인을 클릭합니다.

  8. 솔루션 탐색기 대화 상자에서 Package.dtsx를 두 번 클릭합니다.

  9. ForEachLoop 컨테이너를 패키지의 제어 흐름 화면에 추가합니다.

  10. 1단계에서 추가한 ForEachLoop 컨테이너를 두 번 클릭하여 Foreach 루프 편집기를 엽니다.

  11. 컬렉션 노드를 클릭하고 Enumerator 드롭다운에서 ForEachDirectory 열거자를 선택합니다.

  12. ForEachDirectory 열거자의 속성 값을 지정한 다음 확인을 클릭합니다.

예제 테스트

예제 구성 요소를 패키지의 데이터 흐름 작업에 추가한 후 SSIS 디자이너에서 이 구성 요소를 구성할 수 있습니다. ForEachDirectory 열거자에는 실행 동작을 제어하는 5가지 속성이 있습니다.

속성 설명

RootDirectorySource

ConnectionManager, Variable 또는 DirectInput으로 설정될 수 있는 RootDirectory 속성의 원본을 지정합니다.

RootDirectory

열거자가 열거를 시작하는 디렉터리를 지정합니다.

IncludeRootDirectory

열거되는 디렉터리에 루트 디렉터리가 포함되는지 여부를 지정합니다.

EnumerateSubFolders

루트 디렉터리에 포함된 폴더의 하위 폴더가 열거되는지 여부를 지정합니다.

SiblingFoldersBeforeSubFolders

EnumerateSubFolders가 true인 경우 열거자가 형제 폴더를 먼저 열거할지 전체 디렉터리 구조를 먼저 열거할지를 지정합니다.

변경 내역

릴리스 내역

2006년 7월 17일

2005년 12월 5일

새로운 내용
  • Business Intelligence Development Studio에서 예제를 사용하는 방법에 대한 지침을 추가했습니다.
  • 사용자 지정 사용자 인터페이스에 있는 속성을 설명하는 표를 추가했습니다.