2017-09-20 6 views
0
  1. 내가 여러 헤더 코드로 구성 테이블이있는 헤더 코드를 기반으로 블록 텍스트 파일 블록을 읽을 수
  2. 모든 헤더는 자신의 BHD (시작) 및 BTR을해야합니다 (항상 HDR로 시작) (끝) 태그

각 블록에 해당 헤더 값을 새 열로 추가해야합니다.어떻게 SSIS

샘플 테이블 :

HDR20170101 
BHD0000A123J010203 
0020CHETRI  || ULTRA DELUXE || 123UD || 00:20 
0300CHETRIKK02S || DELUXE  || 908UU || 03:00 
0330CHETRIKK02S || DELUXE  || 908BN || 03:30 
BTR0000A123J010203DHU84596 
HDR20170102 
BHD0000A123J010225 
0400CHETRIKK02O || ORDINARY  || 908AH || 04:00 
0400CHETRIKK02S || DELUXE  || 908BN || 04:00 
0500CHETRIKK02O || ORDINARY  || 908AC || 05:00 
0515CHETRIKK02S || DELUXE  || 908AE || 05:15 
BTR0000A123J010225DHU59658 
HDR20170103 
BHD0000A123J010242 
0530CHETRIKK04O || ORDINARY  || 2251 || 05:30 
0615CHETRIKK02S || DELUXE  || 908BC || 06:15 
BTR0000A123J0100242DHU34745 

예상 출력 :이 스크립트를 필요로 할 것입니다

Trip Code  || ClassOfServ || Route || Depart || Header 
0020CHETRI  || ULTRA DELUXE || 123UD || 00:20 || HDR20170101 
0300CHETRIKK02S || DELUXE  || 908UU || 03:00 || HDR20170101 
0330CHETRIKK02S || DELUXE  || 908BN || 03:30 || HDR20170101 
0400CHETRIKK02O || ORDINARY  || 908AH || 04:00 || HDR20170102 
0400CHETRIKK02S || DELUXE  || 908BN || 04:00 || HDR20170102 
0500CHETRIKK02O || ORDINARY  || 908AC || 05:00 || HDR20170102 
0515CHETRIKK02S || DELUXE  || 908AE || 05:15 || HDR20170102 
0530CHETRIKK04O || ORDINARY  || 2251 || 05:30 || HDR20170103 
0615CHETRIKK02S || DELUXE  || 908BC || 06:15 || HDR20170103 

답변

0

.

모든 작업을 수행하는 스크립트 작업을 작성하거나 스크립트 구성 요소를 원본으로 사용하는 데이터 흐름을 만들 수 있습니다. filesystemobject을 사용하여 filestream을 열고 한 줄씩 파일을 읽고 각 줄을 분석하여 HDR, BHD, BTR 또는 일반 데이터 행인지 확인합니다. 마지막 HDR 값을 로컬 변수에 유지하고 각 데이터 행에 추가 열로 추가하십시오.