식별자(SSIS)

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

식에서 식별자는 작업에 사용할 수 있는 열 및 변수입니다. 식은 일반 및 정규화된 식별자를 사용할 수 있습니다.

일반 식별자

일반 식별자는 추가 한정자가 필요하지 않은 식별자입니다. 예를 들어 AdventureWorks 데이터베이스의 Contacts 테이블에 있는 열인 MiddleName은 일반 식별자입니다.

일반 식별자의 이름은 다음 규칙을 따라야 합니다.

  • 이름의 첫 글자는 Unicode Standard 2.0에서 정의한 문자이거나 밑줄(_)이어야 합니다.

  • 이후 문자는 유니코드 표준 2.0, 밑줄(_), @, $및 # 문자에 정의된 문자 또는 숫자일 수 있습니다.

Important

나열된 공백과 특수 문자 이외의 특수 문자는 일반 식별자에서 유효하지 않습니다. 공백과 특수 문자를 사용하려면 일반 식별자 대신 정규화된 식별자를 사용해야 합니다.

정규화된 식별자

정규화된 식별자는 대괄호로 구분된 식별자입니다. 식별자의 이름에 공백이 포함되거나 식별자 이름이 문자 또는 밑줄 문자로 시작되지 않기 때문에 식별자에 구분 기호가 필요할 수 있습니다. 예를 들어 열 이름이 Middle Name 인 경우 대괄호로 묶어서 식에 [Middle Name] 형식으로 써야 합니다.

식별자 이름에 공백이 포함되거나 이름이 유효한 일반 식별자 이름이 아닌 경우 식별자를 정규화해야 합니다. 식 계산기는 열기 및 닫기([]) 대괄호를 사용하여 식별자를 한정합니다. 대괄호는 문자열의 첫 번째 및 마지막 위치에 배치됩니다. 예를 들어 5$>는 [5$>]가 됩니다. 대괄호는 열 이름, 변수 이름 및 함수 이름에 사용할 수 있습니다.

SSIS 디자이너 대화 상자를 사용하여 식을 작성하면 자동으로 일반 식별자가 대괄호로 묶입니다. 그러나 이름에 잘못된 문자가 포함된 경우에만 대괄호가 필요합니다. 예를 들어 MiddleName이라는 열은 대괄호 없이 유효합니다.

식에 대괄호를 포함하는 열 이름은 참조할 수 없습니다. 예를 들어 열 이름 열[1] 은 식에서 사용할 수 없습니다. 식에서 열을 사용하려면 대괄호가 없는 이름으로 이름을 바꿔야 합니다.

계보 식별자

식은 계보 식별자를 사용하여 열을 참조할 수 있습니다. 계보 식별자는 패키지를 처음 만들 때 자동으로 할당됩니다. SSIS 디자이너의 고급 편집기 대화 상자에 있는 열 속성 탭에서 열의 계보 식별자를 볼 수 있습니다.

계보 식별자를 사용하여 열을 참조하는 경우 해당 식별자에 파운드(#) 문자 접두사를 포함해야 합니다. 예를 들어 계보 식별자가 147인 열은 #147로 참조되어야 합니다.

식이 성공적으로 구문 분석되면 식 계산기는 계보 식별자를 대화 상자의 열 이름으로 바꿉니다.

고유 열 이름

패키지에 사용되는 여러 구성 요소는 동일한 이름의 열을 노출할 수 있습니다. 이러한 열이 식에 사용되는 경우 식을 성공적으로 구문 분석하기 전에 명확하게 구분해야 합니다. 식 계산기는 열의 원본을 식별하기 위한 점선 표기법을 지원합니다. 예를 들어 Age라는 두 열은 FlatFileSource.AgeOLEDBSource.Age가 되며, 이는 원본이 FlatFileSource 또는 OLEDBSource임을 나타냅니다. 파서는 정규화된 이름을 단일 열 이름으로 처리합니다.

원본 구성 요소 이름과 열 이름은 별도로 정규화됩니다. 다음 예제에서는 점선 표기법에서 대괄호를 올바르게 사용하는 것을 보여 줍니다.

  • 원본 구성 요소 이름에는 공백이 포함됩니다.

    [MySo urce].Age  
    
  • 열 이름의 첫 문자가 유효하지 않습니다.

    MySource.[#Age]  
    
  • 원본 구성 요소와 열 이름에 잘못된 문자가 포함됩니다.

    [MySource?].[#Age]  
    

Important

점선 표기법의 두 요소가 한 쌍의 대괄호로 묶인 경우 식 계산기는 쌍을 원본 열 조합이 아닌 단일 식별자로 해석합니다.

식의 변수

식에서 참조되는 변수에는 @ 접두사를 포함해야 합니다. 예를 들어 Counter 변수는 @Counter 사용하여 참조됩니다. @ 문자는 변수 이름의 일부가 아닙니다. 식 계산기에서 변수만 식별합니다. SSIS 디자이너에서 제공하는 대화 상자를 사용하여 식을 작성하면 변수 이름에 @ 문자가 자동으로 추가됩니다. @ 문자와 변수 이름 사이에 공백을 포함하는 것은 유효하지 않습니다.

변수 이름은 다른 일반 식별자와 동일한 규칙을 따릅니다.

  • 이름의 첫 글자는 Unicode Standard 2.0에서 정의한 문자이거나 밑줄(_)이어야 합니다.

  • 이후 문자는 유니코드 표준 2.0, 밑줄(_), @, $및 # 문자에 정의된 문자 또는 숫자일 수 있습니다.

변수 이름에 나열된 문자가 아닌 다른 문자가 포함된 경우 변수는 대괄호로 묶어야 합니다. 예를 들어 공백이 있는 변수 이름은 대괄호로 묶어야 합니다. 여는 대괄호는 @ 문자를 따릅니다. 예를 들어 내 이름 변수는 @[My Name]으로 참조됩니다. 변수 이름과 대괄호 사이에 공백을 포함하는 것은 유효하지 않습니다.

참고 항목

사용자 정의 및 시스템 변수의 이름은 대/소문자를 구분합니다.

고유 변수 이름

Integration Services는 사용자 지정 변수를 지원하며 시스템 변수 집합을 제공합니다. 기본적으로 사용자 지정 변수는 사용자 네임스페이스에 속하며 시스템 변수는 시스템 네임스페이스에 속합니다. 사용자 지정 변수에 대한 추가 네임스페이스를 만들고 애플리케이션의 요구에 맞게 네임스페이스 이름을 업데이트할 수 있습니다. 식 작성기는 모든 네임스페이스의 범위 내 변수 목록을 표시합니다.

모든 변수는 범위를 가지며 네임스페이스에 속합니다. 변수 범위는 패키지 범위이거나 패키지의 컨테이너 또는 태스크 범위입니다. SSIS 디자이너의 식 작성기는 범위 내 변수 목록만 표시합니다. 자세한 내용은 Integration Services(SSIS) 변수패키지에서 변수 사용을 참조하세요.

식에 사용되는 변수에는 식 계산기가 식을 올바르게 평가하려면 고유한 이름이 있어야 합니다. 패키지에서 이름이 같은 변수를 여러 개 사용할 경우 해당 네임스페이스가 서로 달라야 합니다. Integration Services는 두 개의 콜론으로 구성된(::) 네임스페이스 확인 연산자를 사용하여 네임스페이스로 변수를 정규화합니다. 예를 들어 다음 식에서는 Count라는 이름을 가진 변수 두 개를 사용합니다. 하나는 User 네임스페이스에 속하고 다른 하나는 MyNamespace 네임스페이스에 속합니다.

@[User::Count] > @[MyNamespace::Count]  

Important

식 계산기에서 변수를 인식할 수 있도록 네임스페이스와 정규화된 변수 이름 조합을 대괄호로 묶어야 합니다.

사용자 네임스페이스의 Count 값이 10이고 MyNamespaceCount값이 2이면 식 계산기가 서로 다른 두 변수를 인식하기 때문에 식이 true로 평가됩니다.

고유한 변수 이름을 사용하지 않아도 오류가 발생하지는 않습니다. 대신 식 계산기는 변수의 인스턴스를 하나만 사용하여 식을 평가하고 잘못된 결과를 반환합니다. 예를 들어 다음 식은 두 개의 개별 Count 변수에 대한 값(10 및 2)을 비교하기 위한 것이었지만 식 계산기는 Count 변수의 동일한 인스턴스를 두 번 사용하므로 식이 false로 평가됩니다.

@Count > @Count  

pragmaticworks.com의 기술 문서 - SSIS 식 치트 시트