2014-04-14 6 views
0

다음은 사용자가 원하는 시나리오입니다 ... ETL은 일반적으로 오전 5시에 완료되며 성공적인로드시 테이블에 행이 삽입됩니다. 오전 5시에 시작하여 SSRS 보고서는 삽입 될 행 (예 : 30 초마다)을 찾습니다. 행이 삽입되고 구독에 지정된 사용자에게 전자 메일을 보내는 SSRS 보고서가 실행되어야한다는 것을 알게됩니다.이벤트를 기반으로 SSRS 보고서를 실행하십시오.

SQL -RD없이 이것을 수행 할 수있는 방법이 있습니까? MSBI에 새로운 방향으로 알려주십시오.

감사합니다, 차크라 M

+0

당신은 무엇을 시도 했습니까? – Bonifacio2

+0

http://stackoverflow.com/questions/20330071/can-i-send-ssrs-custom-subscription-e-mails/20330200#20330200 – SQLMason

답변

0

그것은 이상적인 솔루션 아니지만, 당신은 엔터프라이즈 버전을 실행하는 경우, 당신은 삽입 된 행에 대해 확인하는 데이터 기반 구독을 설정할 수 있습니다, 그것은 현재의 경우를 반환 전자 메일 주소 목록 -이 반환 값을 사용하여 데이터 기반 구독의 "TO :"필드를 채 웁니다. 데이터가 없으면 전자 메일 주소는 반환되지 않고 구독은 단순히 "실패"합니다.

액세스 권한이있는 경우 SSRS SQL 호스트에서 구독이 만드는 작업을 찾아 필요에 따라 구독을 실행하는 데 필요한 조건부 논리를 추가하도록 변경하십시오.

0

사용 3 작업과 SSIS 패키지 :

  1. SQL 작업 - 단일 행 결과 세트 - 다음 마지막 실행 날짜 시나리오를 기반으로 데이터가 마지막 실행 날짜
  2. SQL 작업을 업데이트 할 경우 확인 -에 첨부 파일로 작업이 추가 파일의 성공과

배포를 보내고 패키지를 추가 - 작업 1 실행 "Windows 파일 공유"SSRS 보고서의 성공은

  • 이메일 작업 (PDF 또는 Excel 형식으로 수출을 말한다) SQL로 서버 작업은 30 초 동안 예약됩니다.

    또는 지연 (일정)을 패키지에 넣으십시오. 나는. For 루프 컨테이너 (옵션 루프 종료 카운트 포함)를 사용하고 태스크 1의 실패시 추가 지연 태스크 시나리오와 함께 3 개의 태스크를 덤프하고 태스크 3의 성공시 초기 루프를 종료하십시오. For의 MaximumErrorCount를 설정해야합니다. For ETL에서 결과가없는 경우 지연을 호출하기 위해 의도적 인 오류를 피하기 위해 Loop를 0으로 루프하고 첫 번째 태스크 인 FailPackageOnError 특성 이외의 각 개별 태스크를 True로 루프하십시오.

  • 관련 문제