가장 간단한 옵션은 출력을 리디렉션하도록 배치 스크립트를 수정하는 것입니다.
dtexec.exe /file myPackage.dtsx > myPackage.log
이렇게하면 실행 당 로그 파일을 덮어 씁니다. 현재 % date % 및 % time %를 출력 파일 이름에 추가하여 더 좋아질 수 있습니다.
다음 옵션은 호출 코드를 변경하는 것입니다. 파일에 쓰도록 배치 스크립트를 리디렉션하는 대신 표시되는 내용에서 .NET 코드를 읽을 수 있습니다. 최고의 코드가 아니며 C#에 있지만 회의에 참석해야하며 변경할 수있는 시간이 필요하지 않습니다. 다음 코드는 ProcessResults 객체를 살펴보고 표준 출력 및 표준 오류 스트림을 추출합니다. 당신이 위의 텍스트 분석을 찾고 있습니다 위의 해결 방법 중 하나를 가진하지만이 시점에서
this.processStartInfo = new ProcessStartInfo(this.dtUtilPath, parameters);
this.processStartInfo.RedirectStandardError = true;
this.processStartInfo.RedirectStandardOutput = true;
this.processStartInfo.WindowStyle = ProcessWindowStyle.Hidden;
this.processStartInfo.UseShellExecute = false;
System.Diagnostics.Process process = null;
// Perhaps it would be better to set this to 0 so that it runs to completion
int waitInMilliSeconds = 1 * 1000;
process = System.Diagnostics.Process.Start(this.processStartInfo);
System.IO.StreamReader standardError = process.StandardError;
System.IO.StreamReader standardOutput = process.StandardOutput;
process.WaitForExit(waitInMilliSeconds);
if (process.HasExited)
{
// Did it do well?
// Currently, prints results to console but based on
// exit code values can do whatever the business need is
System.Console.WriteLine(standardOutput.ReadToEnd());
System.Console.WriteLine(standardError.ReadToEnd());
System.Console.WriteLine(process.ExitCode);
}
, "당신이 중요하다고 생각하는 어떤 정보를." 그것이 나이고, 지금까지 문제 영역에서 알지 못했던 것을 기반으로한다면 .NET의 정보 캡처를 건너 뛰었을 것입니다. 배치 스크립트 캡처는 이중 근무를 원한다면 도움이 될 수 있지만 출생지는 SSIS logging입니다.
가의 OnError, OnTaskFailed, OnInformation, OnWarning 및 OnPre/PostExecute 이벤트
로깅을 포착,이 배포 된 패키지의 코드 변경을 필요로하지만 난 로깅 켜기
- 으로 최고의 SSIS 경험을 찾을 수 SQL Server (2005는 dbo.sysdtslog90, 2008, R2 및 2012에 dbo.sysssislog에 패키지 배포 모드 로그로 기록합니다.이 테이블은 msdb에 있지만 제공된 연결 문자열이 다른 카탈로그를 가리키는 경우 테이블이 만들어집니다 해당 카탈로그 및 로깅에서 발생합니다)
DTS (legacy) 또는 DTSX 일명 SSIS 패키지에 대해 이야기하고 있습니까? – billinkc
죄송합니다. DTSX (SSIS 패키지)입니다. – Kurt
VB.NET에서 시작된'dtexec.exe/file myPackage.dtsx ... '와 같은 일괄 처리 스크립트를 가지고 있고 실행중인 패키지가 뱉어내는 정보를 캡처하고 싶습니다. 텍스트 파일로 충분합니까? – billinkc