식별자(SSIS)
적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime
식에서 식별자는 작업에 사용할 수 있는 열 및 변수입니다. 식은 일반 및 정규화된 식별자를 사용할 수 있습니다.
일반 식별자
일반 식별자는 추가 한정자가 필요하지 않은 식별자입니다. 예를 들어 AdventureWorks 데이터베이스의 Contacts 테이블에 있는 열인 MiddleName은 일반 식별자입니다.
일반 식별자의 이름을 지정하려면 다음 규칙을 따라야 합니다.
이름의 첫 글자는 Unicode Standard 2.0에서 정의한 문자이거나 밑줄(_)이어야 합니다.
후속 문자는 유니코드 표준 2.0에 정의된 문자 또는 숫자, 밑줄(_), @, $, # 문자일 수 있습니다.
중요
나열된 것 이외에 포함된 공백과 특수 문자는 일반 식별자에서 유효하지 않습니다. 공백과 특수 문자를 사용하려면 일반 식별자 대신 정규화된 식별자를 사용해야 합니다.
정규화된 식별자
정규화된 식별자는 대괄호로 구분된 식별자입니다. 식별자의 이름에 공백이 포함되거나 식별자 이름이 문자 또는 밑줄 문자로 시작되지 않기 때문에 식별자에 구분 기호가 필요할 수 있습니다. 예를 들어 열 이름이 Middle Name인 경우 대괄호로 묶어서 식에 [Middle Name] 형식으로 써야 합니다.
식별자 이름에 공백이 포함되거나 이름이 유효한 일반 식별자 이름이 아닌 경우 식별자를 정규화해야 합니다. 식 계산기는 왼쪽 대괄호와 오른쪽 대괄호([])를 사용하여 식별자를 한정합니다. 대괄호는 문자열의 첫 번째와 마지막 위치에 배치됩니다. 예를 들어 5$>는 [5$>]가 됩니다. 대괄호는 열 이름, 변수 이름 및 함수 이름에 사용할 수 있습니다.
SSIS 디자이너 대화 상자를 사용하여 식을 작성하면 자동으로 일반 식별자가 대괄호로 묶입니다. 그러나 이름에 잘못된 문자가 포함된 경우에만 대괄호가 필요합니다. 예를 들어 MiddleName이라는 열은 대괄호가 없어도 유효합니다.
식에 대괄호를 포함하는 열 이름은 참조할 수 없습니다. 예를 들어 Column[1]이라는 열 이름은 식에서 사용할 수 없습니다. 식에서 열을 사용하려면 대괄호가 없는 이름으로 이름을 바꿔야 합니다.
계보 식별자
식은 계보 식별자를 사용하여 열을 참조할 수 있습니다. 계보 식별자는 패키지를 처음 만들 때 자동으로 할당됩니다. SSIS 디자이너의 고급 편집기 대화 상자에 있는 열 속성 탭에서 열의 계보 식별자를 볼 수 있습니다.
계보 식별자를 사용하여 열을 참조하는 경우 해당 식별자에 파운드(#) 문자 접두사를 포함해야 합니다. 예를 들어 계보 식별자가 147인 열은 #147로 참조되어야 합니다.
식을 성공적으로 구문 분석하면 식 계산기는 계보 식별자를 대화 상자의 열 이름으로 바꿉니다.
고유한 열 이름
패키지에 사용되는 여러 구성 요소는 동일한 이름을 가진 열을 노출할 수 있습니다. 이러한 열이 식에 사용되는 경우 성공적으로 구문 분석하기 전에 명확하게 구분해야 합니다. 식 계산기는 열의 원본을 식별하기 위한 점 표기법을 지원합니다. 예를 들어 Age 두 개의 열은 FlatFileSource.Age 및 OLEDBSource.Age가 되며, 이는 원본이 FlatFileSource 또는 OLEDBSource임을 나타냅니다. 파서는 정규화된 이름을 단일 열 이름으로 처리합니다.
원본 구성 요소 이름과 열 이름은 별도로 정규화됩니다. 다음 예제에서는 점 표기법에서 대괄호를 올바르게 사용하는 방법을 보여 줍니다.
원본 구성 요소 이름에는 공백이 포함되어 있습니다.
[MySo urce].Age
열 이름의 첫 문자가 유효하지 않습니다.
MySource.[#Age]
원본 구성 요소와 열 이름에 잘못된 문자가 포함되어 있습니다.
[MySource?].[#Age]
중요
점 표기법의 두 요소가 한 쌍의 대괄호로 묶인 경우 식 계산기는 이 쌍을 원본 열 조합이 아닌 단일 식별자로 해석합니다.
식의 변수
식에서 참조하는 변수에는 @ 접두사가 포함되어야 합니다. 예를 들어 Counter 변수는 @Counter를 사용하여 참조합니다. @ 문자는 변수 이름의 일부가 아닙니다. 식 계산기에서 변수만 식별합니다. SSIS 디자이너에서 제공하는 대화 상자를 사용하여 식을 작성하면 변수 이름에 @ 문자가 자동으로 추가됩니다. @ 문자와 변수 이름 사이에 공백을 포함할 수 없습니다.
변수 이름은 다른 일반 식별자와 동일한 규칙을 따릅니다.
이름의 첫 글자는 Unicode Standard 2.0에서 정의한 문자이거나 밑줄(_)이어야 합니다.
후속 문자는 유니코드 표준 2.0에 정의된 문자 또는 숫자, 밑줄(_), @, $, # 문자일 수 있습니다.
변수 이름에 나열된 문자가 아닌 다른 문자가 포함된 경우 변수를 대괄호로 묶어야 합니다. 예를 들어 공백이 있는 변수 이름은 대괄호로 묶어야 합니다. 왼쪽 대괄호는 @ 문자 뒤에 옵니다. 예를 들어 My Name 변수는 @[My Name]으로 참조합니다. 변수 이름과 대괄호 사이에 공백을 포함할 수 없습니다.
참고 항목
사용자 정의 변수 및 시스템 변수의 이름은 대문자 및 소문자를 구분합니다.
고유 변수 이름
Integration Services는 사용자 지정 변수를 지원하며 시스템 변수 집합을 제공합니다. 기본값으로 사용자 지정 변수는 User 네임스페이스에 속하며 시스템 변수는 System 네임스페이스에 속합니다. 사용자 지정 변수를 위한 추가 네임스페이스를 만들고 응용 프로그램의 요구에 맞게 네임스페이스 이름을 업데이트할 수 있습니다. 식 작성기는 모든 네임스페이스의 범위 내 변수 목록을 표시합니다.
모든 변수에는 범위가 있고 이는 네임스페이스에 속합니다. 변수 범위는 패키지 범위이거나 패키지의 컨테이너 또는 태스크 범위입니다. SSIS 디자이너의 식 작성기는 범위 내 변수 목록만 표시합니다. 자세한 내용은 Integration Services(SSIS) 변수 및 패키지에서 변수 사용을 참조하세요.
식 계산기가 식을 올바르게 계산하려면 식에 사용되는 변수에 고유한 이름이 있어야 합니다. 패키지에서 이름이 같은 변수를 여러 개 사용할 경우 해당 네임스페이스가 서로 달라야 합니다. Integration Services는 두 개의 콜론으로 구성된(::) 네임스페이스 확인 연산자를 사용하여 네임스페이스로 변수를 정규화합니다. 예를 들어 다음 식에서는 Count라는 이름을 가진 변수 두 개를 사용합니다. 하나는 User 네임스페이스에 속하고 다른 하나는 MyNamespace 네임스페이스에 속합니다.
@[User::Count] > @[MyNamespace::Count]
중요
식 계산기에서 변수를 인식할 수 있도록 네임스페이스와 정규화된 변수 이름 조합을 대괄호로 묶어야 합니다.
User 네임스페이스의 Count 값이 10이고 MyNamespace의 Count 값이 2면, 식 계산기가 서로 다른 두 개의 변수를 인식하기 때문에 식을 true로 계산합니다.
고유한 변수 이름을 사용하지 않아도 오류가 발생하지는 않습니다. 대신 식 계산기는 변수의 인스턴스를 하나만 사용하여 식을 계산하고 잘못된 결과를 반환합니다. 예를 들어 다음 식은 두 개의 개별 Count 변수에 대한 값(10 및 2)을 비교하기 위한 것이었지만, 식 계산기는 Count 변수의 동일한 인스턴스를 두 번 사용하므로 식을 false로 평가합니다.
@Count > @Count
관련 내용
pragmaticworks.com의 기술 문서 - SSIS 식 치트 시트