2014-04-06 2 views
0

T-SQL SQL Server 2012를 사용하여 고정 길이 필드로 레코드를 생성하는 효율적인 방법이라고 생각합니까?고정 길이 필드를 효율적으로 생성하는 방법 플랫 파일 - 대상이 플랫 파일 인 T-SQL 또는 SSIS 패키지

INSERT INTO #RECORD AS 
SELECT 
RIGHT('0000000000' + RTRIM(field01), 10) 
+RIGHT('   ' + RTRIM(field02), 10) 
+RIGHT('00000' + RTRIM(field03),6) 
+ etc ... 
+RIGHT('0000000000' + RTRIM(fieldnn, 10) 
FROM sourceTable 

는 OR 나는 sourceTableFlat-fileAsdestination와 매핑 및 파생 필드 SSIS 패키지를 사용해야합니다.

+0

일반적으로 T-SQL에서 파일로 내보낼 수 없으므로 대안이 실제로 동일하지 않습니다. 당신이 SSIS에 익숙하지 않다면 T-SQL + bcp는 좋은 해결책입니다 – adrianm

답변

1

데이터 집합이 성능 측면에서별로 중요하지 않은 경우 T-SQL, SISS 패키지 등으로 데이터를 내보낼지가 중요하지 않습니다. 일회성 작업이라면 Management Studion을 사용하는 것이 좋습니다. 데이터베이스를 마우스 오른쪽 버튼으로 클릭하면 Tasks->Export Data...으로 이동합니다. 마법사에서 원본 데이터베이스와 테이블을 선택합니다. 그런 다음 대상으로 플랫 파일을 선택하십시오. 여기서 형식을 선택할 수도 있습니다. 옵션 중에는 Fixed length이 필요합니다. Configure Flat File Destination 단계에서 Edit Mappings 열을 내보내고 길이를 설정해야합니다.

데이터 세트가 크거나 프로세스를 자동화하려는 경우 bcp utility을 사용해야하며 고정 너비 파일 형식도 지원해야합니다.

솔루션이 좋지 않거나 작동하지 않는다고 말할 수는 없지만 버그가 나에게 발생하기 쉽고 거친면으로 해결하면 지원하기가 어려울 수 있습니다.

희망이 있습니다.

+0

@ user3504427 안녕하세요, 내 대답에 아무런 코멘트도 남기지 않았는데 도움이 될지 궁금하십니까? 그렇지 않다면 당신의 질문에 당신을 도울 수있는 일이 있습니까? –

+0

나는 훌륭한 대답을 전했다. 불행히도 요즘 사람들이 여기에 질문을 게시하지만 끝내지는 않습니다. 나는 실제적인 노력을하기 전에 OP의 관심을 측정하기 위해 코멘트를 게시하는 습관이되었습니다. –

관련 문제