2017-04-19 11 views
2

좋은 날 모든 기반으로 나누 조건부 분할을 사용합니다. 내가 enter image description hereSSIS 조건은 <p></p> 나는 내가 여러 파일에 파일을 분할하고 싶은 무엇</p> <pre><code>select invno , date_received from sales </code></pre> <p>즉 SQL에서 데이터를 끌어 선택 쿼리를 가지고, 열 값

다음과 같이 시도 조건을 설정하는 방법을 알고하지 않습니다하지만 그것은 단지 하나 개의 파일을 생성, 내가 열 값을 기준으로 여러 개의 파일을 만들려면 어떻게해야 내가 무엇을 열 값이 것 모르는 경우 있다? 또한

난 박스 구성품이의의 출력을 사용하여 파일

+2

분할하려는 조건은 무엇입니까? – Yahfoufi

+0

제공된 소스 쿼리가 주어지면 각'invno'에 대해 "other data"'date_received' 등으로 출력 파일을 만들고 싶습니다. 그렇습니까? – billinkc

+0

그렇습니다. 완전한 쿼리가 아닙니다. 그냥 샘플입니다. invno 1234는 파일을 만듭니다. invo는 1235 파일을 만듭니다. 나는 여러 개의 invno가 얼마나 많은지 알지 못합니다. –

답변

2

의 덮어 쓰기를 방지하기 위해뿐만 아니라 파일 이름에 열 값 즉 INVNO을 지정하려는 당신의 가장 좋은 방법은이

같은 뭔가를하는 것입니다

enter image description here

SQL 실행 작업은 전체 결과 집합을 Object 형식의 SSIS 변수로 반환합니다. 조회가 INVNO의 별개 세트를 생성합니다. SELECT DISTINCT T.INVNO FROM dbo.Sales AS T;

Foreach 루프 컨테이너는 레코드 세트를 INVNO의 단일 인스턴스로 "파쇄"합니다. 이를 위해서는 해당 숫자를 수신하기 위해 아마도 String 유형의 변수가 있어야합니다.

데이터 흐름 태스크는 소스 쿼리로 매개 변수화 된 쿼리를 갖습니다. OLE DB 연결 관리자가 있다고 가정하면 select INVNO, date_received FROM dbo.Sales AS S WHERE S.INVNO = ?;이되며 INVO의 현재 값 (FELC에서 파쇄의 일부로 할당 됨)에 매핑됩니다.

마지막으로 플랫 파일 연결 관리자는 ConnectionString에식이 있습니다 속성을 사용하여 출력 파일의 전체 경로를 고려해야합니다. "C:\ssisdata\" + @[User::Invno] + ".csv"

아, 간단한 파일 연결 관리자 및 데이터 흐름 작업에 대해 DelayValidation = True로 설정할 수 있습니다.

+0

내 [previous answers] (http : //stackoverflow.com/search? q = user % 3A181965)이 답변에 대한 많은 결과를 보여줄 것입니다.하지만 해머에 대한 정확한 복제본을 생각할 수 없습니다. ie [shred] (http://stackoverflow.com/search?q=user%3A181965+shred) [FELC] (http://stackoverflow.com/search?q=user%3A181965+FELC) – billinkc

+0

감사합니다. 나를 위해 완벽하게 일했다. –