2014-02-25 3 views
0

내 SSIS 패키지에서 일부 변수의 범위를 변경하려고합니다. 그들은 데이터베이스의 설정 테이블에 의존하고, 이전에 그들은 그 값은 데이터베이스에 다음과 같은 값으로 설정되었다 :SSIS 구성 테이블의 변수 범위

\Package.Variables[User::EmailAddress].Properties[Value] 

그리고 그 값이 ConfigurationValue 열에서 설정됩니다.

내가 특정 foreach 루프 컨테이너에 패키지에서 변수의 범위를 변경 한 번을 제외하고, 나는 다음과 같은 오류가 오긴했는데, 마치 마법처럼 일했다 :

Warning: The package path referenced an object that cannot be found: "\Package.Variables[User::EmailAddress].Properties[Value]". This occurs when an attempt is made to resolve a package path to an object that cannot be found.

다른, globally- 범위가 지정된 변수에는이 문제가 없습니다. 이 문자열에 SSIS가 전체 패키지 대신 패키지 레벨을 보도록 지시하는 값이 있습니까?

답변

1

다음 두 가지 방법 중 하나로 갈 수 - 중 마법사를 사용하여 DTSConfig를 다시 작성하거나 값이 작동하지 않았다 편집하기 ForEach Loop

\Package\ForEachLoopName.Variables[User::EmailAddress].Properties[Value] 
+0

포함하는 파일의 경로를 변경합니다. 이제 오류가 읽습니다. 경고 : 패키지 경로를 찾을 수없는 개체를 참조했습니다 : "\ Package.DownloadFiles.Variables [User :: EmailAddress] .Properties [Value]". 패키지 경로를 찾을 수없는 객체로 해결하려고 할 때 발생합니다. – GGMG

+0

그런 경우 이전 DTSConfig의 이름을 바꾸고 패키지에서 필요한 변수를 사용하여 새 DTSConfig를 만듭니다. 그런 다음 경로를 원래 파일로 복사 한 다음 바꿉니다. –

+0

Raj는 두 번째 접근 방식으로 올바른 방향으로 가고 있습니다. 변수의 적절한 범위를 결정하는 것입니다. 속성 창 (F4)을 가져온 다음 해당 변수를 가리 킵니다. 당신은'PackagePath' 속성에 접근 할 수 있어야합니다. 케이스를 보풀하게 만들지 않는 한, 잘 작동해야합니다. – billinkc