2012-05-30 3 views
1

구성 유형이 (간접 XML 구성 파일) 인 패키지 구성을 설정했습니다. 환경 변수가 C:\SSIS\MasterConfig\MasterConfig.dtsConfig 파일을 가리키는 곳.SSIS 환경 변수 덮어 쓰기

위와 같이 작동하면 테스트에서 UAT로 쉽게 마이그레이션 할 수 있습니다.

문제는 각 개발자가 자신의 DB를 가지고있는 개발 환경에 있습니다. 에이전트 작업이 마스터 구성 파일을 무시하는 각 개발자에 대해 에이전트 작업을 설정하려고합니다. 에이전트 작업 명령 줄은 "

/FILE"C : SSIS \ 패키지 \ "/에서 configFile은 "C Developer1 \ LoadPackage.dtsx \ "SSIS \ 패키지 \ Developer1 \ Developer1_Config.dtsConfig \/X86 /2008 R2를 사용하여 /보고 E

OFF 검사 점

나는 /에서 configFile "C : SSIS \ 패키지 \ \ Developer1 \ Developer1_Config.dtsConfig는"고 기대했다. 는 대신에 사용하는 것 ~의 C : \ SSIS \ MasterConfig \ MasterConfig.dtsConfig 파일입니다.

마스터 구성 파일 만 사용 중입니다. 어떤 아이디어?

답변

0

실행중인 문제는 Defining a Configuration Approach for Integration Services Packages에 해당됩니다. 기본적으로 명령 줄 구성이 적용되고 있지만 디자인 타임 값으로 덮어 쓰여집니다.

나는 당신의 해결책이 무엇이 될지 모르겠다. 우리가 다중 인스턴스 상자 (dev와 테스트는 물리적 인 호스트를 공유 함)를 다루어야 만한다는 것을 제외하고는 여기와 같은 유사 상황. 이 문제를 해결하기 위해 환경 변수 비트를 건너 뛰고 디자인 타임 값이 항상 dev를 가리 키도록 결정했습니다. Test, UAT 및 PROD는 SQL Agent를 통해서만 패키지를 실행하므로 작업이 구성 리소스에 대한 연결 문자열을 명시 적으로 정의합니다. 당신의 경우는 거꾸로 생각할 수 있지만 디자인 타임 값은 어디서나 괜찮습니다.

+0

답변 해 주셔서 감사합니다. 여기에서 가장 쉬운 방법은 다음과 같습니다. 1. SSIS에서 작업하는 개발자가 아무도 자신의 환경 변수를 공유하지 않는 로컬 DB를 사용하게하십시오. 2. 개발자들을 친절하게하고 공유 DB를 켜십시오. – taaSarge

0

우리가하는 바는 다음과 같습니다.

모든 변수의 이름은 Production, QA 또는 Dev (또는 심지어 로컬)를 가리키는 모든 변수의 이름이 동일합니다. 우리가 변경하는 것은 설정 파일을 가리키는 변수 값입니다.

각 상자에 대해 적절한 연결 정보를 모두 가진 구성 파일을 만듭니다. 따라서 우리는 각 데이터베이스에 최소한 3 개의 개별 설정 파일을 갖게 될 것입니다. DB_Prod.config, DB_QA.config, DB_Dev.config 및 DB_Joe_local.config (로컬 db를 가리키는 경우)

다음 변수를 .bat 파일에 저장하는 .bat 파일을 만듭니다. QA, DB1_ole, AS400 등의 환경 변수가 있습니다. QA에 대한 표시가 없으므로 환경 변수는 DB1_adonet, DB1_ole, AS400 등과 같은 이름이 붙습니다. 찌르다 등.

설정하는 데 약간의 어려움이 있지만 일단 사용하기 시작하면 유일한 환경은 자신이 설정 한 환경을 기억하는 것입니다. 열기 및 닫기 dev 스튜디오 b 값이 캐시 될 때 환경이 변경됩니다. 또한 localy 패키지를 실행하면 환경 변수 값을 사용하고 실행중인 상자는 사용하지 않습니다.

마지막으로 TFS에 모든 구성 파일을 확인했습니다. 파일을 쉽게 배포 할 수 있습니다.