패키지의 실행 로그를 쓰려는 폴더를 가리키는 변수를 설정하는 부모 패키지가 있습니다. 이 상위 패키지는 하위 패키지를 실행하고 하위 변수에도 값을 설정합니다.SSIS 로그 파일, 동적 파일 경로 및 액세스 거부 오류
Error: 0xC001404B at Child Package, Log provider "SSIS log provider for Text files": The SSIS logging provider has failed to open the log. Error code: 0x80070005. Acces denied.
:
이
[User::LogFolder] + "\\" + [System::PackageName] + ".log"
하지만 내 패키지는 항상이 메시지와 함께 첫 번째 단계에서 실패 : 아이에서
는 식으로 내장되어 로그가 stetted되는 패키지 및 로그 파일을 연결 문자열을 패키지
BIDS 내부에서 오류가 발생합니다. 로그 파일의 경로를 정적으로 동일한 경로로 설정하면 문제없이 실행되므로 사용 권한 문제가 아닌 것 같습니다. 이 문제를 해결하는 방법에 대한 제안? 미리 감사드립니다.
편집 : [User : LogFolder] 값이 상위 패키지에서 가져오고 패키지가 로그를 열려고 할 때 값이 전달되지 않아서 오류가 발생하여 문제가 발생한 것 같습니다. 이 문제를 해결할 방법이 있습니까?
분명히 권한 문제 인 '액세스가 거부되었습니다'라고 나와 있습니다. 하위 패키지에 중단 점을 넣고 LogFolder의 변수 값을 확인하십시오. – Sreedhar
@Sreedhar 의견을 보내 주셔서 감사합니다. 이미 경로를 확인했습니다. 그리고 그것은 올바른 위치를 가리키고 있습니다. 불행히도, 내가 게시물에 말했듯이, 변수를 표현식과 동일한 정적 값으로 설정하면 오류가 사라집니다. – Oscar
@Sreedhar 오류의 원인을 찾은 것 같아요. 하지만 해결 방법을 모르겠다. 내 패키지가 하위 패키지이고 변수 [User :: LogFolder]가 부모로부터 채워진다. 문제는 패키지가 시작될 때 [User :: LogFolder] 패키지 시작 이벤트가보고되고 표현식을 평가할 수 없습니다. – Oscar