이 문제가 해결되었지만 문제를 해결할 수있는 답변을 찾지 못한 경우 사과드립니다. 참조하는 스크립트 작업이있는 SSIS 패키지가 있습니다.DTEXEC을 사용하여 mso.dll을 참조하는 SSIS 패키지 실행
C : \ Program Files (x86) \ Common Files \ microsoft shared \ OFFICE16 \ MSO.DLL입니다.
SQL Server 데이터 도구를 통해 실행하면 패키지가 예상대로 실행됩니다.
Integration Services 카탈로그에 배포하고 수동으로 실행하면 패키지가 예상대로 실행됩니다. 그런 다음 xp_cmdshell을 사용하도록 설정했습니다. 패키지가 명령을 사용하여 실행 된 경우
는 :
DECLARE @returncode INT;
EXEC @returncode = xp_cmdshell 'DTEXEC /ISSERVER "\SSISD
\test\test_DW_ETL\test_script_task.dtsx"'
그것은
이
을 ActiveX 구성 요소를 만들 수 없습니다 오류 메시지와 함께 실패 할 때 '아무튼 다른 SSIS 패키지 스크립트 작업에 Microsoft Objects 참조가 있고 동일한 DTEXEC 명령을 사용하여 실행되면 성공적으로 실행되었습니다. 스크립트 작업 패키지는 명령을 사용하여 실행하면
:
DECLARE @returncode INT; EXEC @returncode = xp_cmdshell '@"C:\Program
Files\Microsoft SQL Server\120\DTS\Binn\DTExec.exe" /ISSERVER "\SSISDB
\test\test_DW_ETL\test_script_task.dtsx"'
는 32 비트 dtexec를를 사용하는을, 패키지는 오류 메시지와 함께 실패
ActiveX 구성 요소를 만들 수 없습니다
로컬 시스템, 로컬 서비스, 네트워크 서비스, 내 계정을 사용하여 SQL Server가 실행되는 계정을 변경해 보았습니다. 그리고 서비스 계정 - 어느 것도 차이를 만드는 것처럼 보이지 않았습니다.
DTEXEC에서 mso.dll에 액세스 할 수 없다는 것이 의심됩니다.
이것은 꽤 일반적인 방법이어야합니다. 그래서 나는 분명히 분명한 단계를 빠뜨려야한다고 생각합니다. 아무도 도움을 줄 수 있습니까?
감사합니다,
이안 다른 사람이이 문제를 가지고있는 경우에 후손을 목적으로
오타를 만들었습니까? 아니면 'C : \ Program Files \ Microsoft SQL Server \ 120 \ DTS \ Binn \ DTExec.exe'가 32 비트 DTExec를 호스팅한다고 생각 했습니까? 내 컴퓨터에서 64 비트 DTExec을 호스팅하기 때문에 (예상대로); 32 비트 버전은'C : \ Program Files (x86) \ Microsoft SQL Server \ 120 \ DTS \ Binn \ DTExec.exe'에 있어야합니다. –
오타를 강조 표시해 주셔서 감사합니다. 나는 앞으로 쓰는 내용에 더 많은 관심을 기울일 필요가 있습니다! –