SSIS : 스크립트 작업의 변수에 생성 날짜 추가

Aug 20 2020

스크립트 작업을 사용하여 SSIS에서 파일 생성 날짜를 얻으려고합니다. "User :: File_Created"라는 변수를 만들고 해당 변수를 다음 스크립트 작업에 추가했습니다.

        public void Main()
        {
            string fileName = @"[FilePath]";
            FileInfo fi = new FileInfo(fileName);

            if (Dts.Variables.Contains("User::File_Created") == true)
            {
                Dts.Variables["User::File_Created"].Value = fi.CreationTime;
            }
        }

그래도 완료되면 변수에 저장된 현재 날짜 만 볼 수 있습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

3 billinkc Aug 21 2020 at 22:24

이것은 일반적인 혼란의 지점입니다.

변수 창은 SSIS 변수를 만들고 디자인 타임 값을 할당하는 곳입니다. 디자인 타임 값은 디자인에 불과합니다. 패키지는 해당 값으로 초기화되지만 실행 중에 변경 될 수 있습니다. 패키지가 종료 될 때 모두 런타임이기 때문에 현재 값을 패키지에 다시 저장하지 않습니다. 설계 시간은 일정하게 유지됩니다.

런타임 값을 보려면 Locals 창을 열고 Variables 컬렉션 노드를 확장 한 다음 모든 현재 값을 볼 수 있습니다 (또는 이에 대한 감시를 설정). 여기에서 녹색 노드 (내 변수의 값을 ZYX로 설정하는 표현식 작업)가 있고 변수 창에 ABC가 표시되지만 지역 창에는 ZYX의 실제 값이 반영되므로 패키지가 비행중인 것을 볼 수 있습니다.

패키지가 디버깅되는 동안 로컬 창에 액세스하려면 디버그 메뉴를 클릭하고 Windows에서 로컬을 선택합니다. https://docs.microsoft.com/en-us/visualstudio/debugger/autos-and-locals-windows?view=vs-2019