2017-12-26 5 views
2

패키지를 만들고 데이터베이스에서 데이터를 읽고 플랫 아웃 XML 파일을 만드는 데이터 흐름 작업을 추가했습니다. 그런 다음 내가 지정한 경로에 파일을 저장하고 프로세스 실행 태스크가 원격 서버에 업로드합니다. 프로세스 작업을 실행SSIS에서 변수 사용 데이터 흐름 작업 및 프로세스 실행 작업

enter image description here

은 다음과 같다 :

enter image description here

enter image description here

데이터 흐름 작업이 같은 것입니다 : 아래는 같은 구조가 모습입니다

그래서 절대 디렉토리가 있기 때문에 지금은 제대로 작동합니다. hs는 데이터 흐름 플랫 파일 프로세스 및 프로세스 실행 작업에 사용됩니다.

는하지만, 내가 뭘하려고 등 평면 밖으로 XML 파일 그래서

를 저장, 절대 경로를 제거하고 모든 실행 파일 대신 내 package.dtsx 파일의 루트 폴더에 상대 경로를 사용하는 것입니다 온라인으로이 두 개의 링크 herehere이 매우 유용하다는 것이 증명되었습니다. 위의 첫 번째 스크린 샷과 같이 변수 및 스크립트 작업을 만들었습니다. 스크립트 작업의 세부 사항은 다음과 같습니다 아래 enter image description here

스크립트 작업의 주요 기능입니다 : 내가 패키지 속성에서 볼 수 있어요

enter image description here

변수를 추가 한 후 그 변수 PackagePath에 다음과 같은 값이 할당됩니다. \Package\task-name :

enter image description here

그러나 나는 그 경로가 무엇인지, 어떻게 루트 디렉토리에 도착하는지 또는 루트 디렉토리 경로를 변수에 할당하는 방법을 모르겠습니다.

SSIS에 익숙하지 않아 잘못되었거나 누락 된 항목인지 잘 모릅니다. 지난 몇 일 동안 그것을 고민하기 위해 고투하고 있었다. 어떤 도움을 주셔서 감사합니다.

+1

'지연 확인'속성을 'True'로 설정해보십시오. 자세한 내용은 내 대답을 확인하십시오. – Hadi

답변

0

프로세스 실행 태스크에서 변수를 사용하려면 표현식을 사용하고 Execute Process Task 편집기를 열고 표현식 탭으로 이동하여 표현식을 작성해야합니다.

당신은 자세한 예제는이 문서를 참조 할 수 있습니다

:

:

은 또한 당신의 Execute Process Task 쓰기 식에 대한 자세한 내용을보실 수 있습니다


참고 : 프로세스 실행 태스크를 마우스 오른쪽 단추로 클릭하고 속성을 선택하십시오. 속성 창에서 현재 으로 설정되어있는 DelayValidation 옵션이 있습니다. True으로 바꿉니다.

관련 문제