데이터 형식이 String
인이라는 Project
매개 변수가있는 SSIS 매개 변수가 있습니다. 자체 변수는
<dbs>
<data>
<db>database1</db>
<store>store1</store>
</data>
<data>
<db>database2</db>
<store>store2</store>
</data>
</dbs>
하드 코딩 XML 문서, 즉를 : 포함하고 나는이 데이터베이스와 해당 매장을 반복 어디 SSIS에서 foreach loop
에서 사용.
내 foreach 루프는 다음과 같이 구성되어 있습니다 :
DocumentSourceType: Variable
DocumentSource: $Project::Databases
EnumerationType: ElementCollection
OuterXPathStringSourceType: DirectInput
OuterXPathString: /dbs/*
InnerElementType: NodeText
InnerXPathStringSourceType: DirectInput
InnerXPathString: *
나는 다음 User::StoreKey
에 해당하는 변수 User::DatabaseName
인덱스 1
에 인덱스 0
을 가지고 Variable Mappings
을 사용하여 해당합니다.
이 은 SSIS
에서 패키지를 실행할 때으로 작동합니다.
Failed to lock variable "$Project::Databases" for read access with error 0xC0010001 "The variable cannot be found". This occurs when an attempt is made to retrieve a variable from the Variables Collection on a container during execution of the package, and the variable is not there. The Variable name may have changed or the variable is not being created
하지만 변수 가해야한다 : 나는이 값을 사용하는 SQL 문 변수 내가 SQL Agent Job
내가 오류가 발생하여이를 실행하려고 할 때 문제가 올바른 출력 등
을 제공합니다 생성 된 - 단지 하드 코딩 된 변수 일뿐입니다. 나는이 문제를 가능한 솔루션을 검색 좀
그렇게하고있다 :변수는 문자열 형식이 아닌 (내 경우에 )
또는
사용자 어떤에서 SQL Agent 작업이 올바른 사용 권한을 가지고 있지 않은 경우 실행됩니다 (경우에 따라 데이터를 읽는 데이터베이스의 sysadmin이 실행하고 msdb와 SSISDB).
어떤 배포 모델을 사용하십니까? –
@ digital.aaron Visual Studio SSIS 2016에서'Deploy package ... '를 선택하여 각 패키지를 마우스 오른쪽 버튼으로 클릭하기 만하면됩니다. 논리적 인 것으로 보이며 다른 배포 옵션을 테스트합니다. 각 패키지 대신 전체 프로젝트를 배포해야합니까? 집에서 환경에 접근 할 수 없기 때문에 지금은 테스트 할 수 없습니다. – Cenderze