2017-01-02 5 views
0

플랫 파일에서 데이터를로드하려고합니다. 이 파일의 크기는 약 2.5GB이고 행 수는 10 억에 가깝습니다. DFT 내부에 플랫 파일 소스를 사용하고 있습니다. 파일 안의 행은 열 패턴을 따르지 않습니다. 예를 들어 추가 구분 기호가 있거나 텍스트 한정자를 한 열의 값으로 말하면됩니다. 난 그 행을 건너 뛰고 올바른 형식을 가진 행의 나머지를로드 싶어요. SSIS 2014를 사용하고 있습니다. DFT 내의 플랫 파일 소스가 실패했습니다. alwaysCheckforrowdelimiter 속성을 false로 설정했지만 여전히 작동하지 않습니다. 파일이 너무 커서 수동으로 열거 나 변경이 불가능합니다. 친절하게 도와주세요.ssis의 플랫 파일에서 오류 행 건너 뛰기

+0

이 하나가 꺼져 있으면 나는 당신이 파일을 검색 및 미리 청소하는 스크립트 (VBScript를, PowerShell을, 무엇이든) 사용하는 것이 좋습니다. –

+0

감사합니다 .. 그러나 10 억 개의 행을 포함하는 파일에 대한 스크립트는 시간이 많이 걸립니다. 이것은 일일 예약 작업의 일부가 될 것이므로 특정 시간 내에 완료해야합니다. –

+0

시간이 오래 걸리시겠습니까? 10 억 개의 행에 대해 아마도 아마도 최대 30 분이 걸릴 것입니다. SSIS에서 문제가 발생하는 이유는 구분 기호가 너무 많아서 인식하지 못할 수도 있기 때문입니다. 즉, 필드가 1 자리 왼쪽으로 섞여있을 수 있습니다. 어쨌든 그것을 고려하고 싶을 수도 있습니다. –

답변

0

나는 Nick.McDermaid와 같은 아이디어를 가지고 있지만 좀 더 당신을 도울 수 있습니다. 정규식을 사용하여 파일을 정리할 수 있습니다. (스크립트에서)

원하는 구분 기호의 수를 줄 수있는 정규식을 정의하면됩니다. 다른 줄은 삭제해야합니다.

^[A-Z]*;[A-Z]*;[A-Z]*;[A-Z]*$ 

그리고 데이터 샘플 :

AA;BB;CC;DD 
AA;BB;CC;DD 
AA;BB;CC;DD;EE 
AA;BB;CC;DD 
AA;BB;CC 
AA;BB;CC;DD 
AA;BB;CC;DD 

당신에게 여기

여기 Notepad++ Example screenshot

내 예를 들어, 사용 패턴 메모장 ++에서 실행되는 시각적 인 예이다 온라인으로 시도 할 수 있습니다. https://regex101.com/r/PIYIcY/1

감사합니다, 아르노

관련 문제