2015-02-06 4 views
1

블로그를 읽고 one question close to mine을 읽었지만 내 문제의 해결책을 찾지 못했습니다. 하나의 보고서를 생성하기 위해 84 개의 DB에서 세 개의 테이블을 추출하는 변환 작업 설정이 있습니다. 내 문제는 DB 연결을 사용할 수없는 경우 전체 작업이 중지됩니다.Pentaho 주전자 작동을 멈추지 않고 주전자 연결을 확인하십시오.

작업을 초기화하고 액세스 할 수없는 DB의 오류를 기록하기 전에 DB 연결을 점검하고 성공적인 작업의 동적 목록을 작성하여 작업을 실행하고 싶습니다. DB 연결 확인 단계 단계를 사용했지만 연결이 false 일 때 여전히 멈 춥니 다. 작업 목록을 중단하지 않고 끝까지 실행되는 DB 목록을 처리하는 방법은 무엇입니까?

답변

1

먼저 DB 연결을 확인하는 올바른 단계를 절대적으로 사용했습니다. 이제 귀하의 질문에 대해, 내가 부품 설명 (내가 올바른 생각합니다 희망)하려고합니다 :

케이스 나 나 :

이의 "DB 연결을 사용할 수 없을 때 내 문제이며, 전체 작업이 중지" 시나리오가 명백합니다. 단계에서 오류를 발견하면 예외가 발생하고 작업의 전체 실행이 중지됩니다.

그러나 "Db 연결 확인"은 연결 오류가 발생하면 db 연결 확인을 중단합니다. 답변은 입니다.입니다. 단계는 중간에 일부 연결에서 오류가 발생하더라도 모든 연결 테스트를 완료합니다. 조심스럽게 로그을 관찰하십시오, 그것은 당신에게 모든 검사 DB 연결 의 최종 통합 목록 (아래 이미지를 확인)을 줄 것입니다 :

enter image description here

나는 그 중 4dB 연결과 테스트를 시도 나는 1 개의 오류와 3 개의 성공을 얻었다. 지금

"전체 작업이 중지" 부분 : 정지 동작은 분명하기 때문에 (내가 위에서 언급 한대로), 당신이 할 수있는 일은 있도록 "오류 홉"를 사용하여 흐름을 전달하는 것입니다 작업이 오류를 발견하면 오류 홉을 취합니다. 아래의 이미지를 확인 : 하나 개의 성공과 하나의 오류 : 내가 두 홉을 사용하고 여기에

enter image description here

. 작업이 실패하면 (빨간색 색 점프) 오류 경로를 취합니다. 그렇지 않으면 성공 경로 (녹색 색 점프)이됩니다.

CASE II : 당신은 별도의 로그 파일이나 테이블에 오류를 기록 할 수 있습니다 "액세스 DB에 대한 오류를 기록하고 성공적인 테스트의 새로운 동적 목록 작성"

을 (당신의 필요 조건에 따라 다름) 다음 로그를 통해 DB 연결 목록을 생성하십시오. 아래 이미지를 확인 :

enter image description here

출력은 에러 플래그와 함께 연결 목록을 생성합니다.

Y : Failure in connecting to Database 
N : successful connection 

참고 : 내가 대신 데이터베이스의 텍스트 파일에 이전 단계를 기록했기 때문에 내가 텍스트 파일 입력을 사용했다. req에 따라 사용자 정의 할 수 있습니다.

gist에 샘플 코드를 입력했습니다. 자신의 심판을 확인할 수 있습니다.

도움이 되길 바랍니다.

+0

자세한 설명 주셔서 감사합니다. Rishu, 그게 내가 놓친 것입니다. 이것은 대단하다! DBconnections 단계에서 오류 검사를 사용하지 않았습니다. 지금 멋진 일! – Patrick

+0

환영합니다 @ 패트릭 :) 도와 드리겠습니다! – Rishu

관련 문제