DB/MS-SQL

엑셀 자료를 SSIS를 이용하여 Import 하는 방법

채윤아빠 2011. 9. 22. 23:07
728x90
반응형

엑셀의 자료를 MS-SQL SSIS를 이용하여 테이블로 가져오는 방법을 정리해 보았습니다.

알단 SMSS로 엑셀을 가져와 데이터를 저장할 테이블이 위치할 데이터베이스에서 오른쪽 마우스를 눌러 아래와 같은 팝업 메뉴가 나왔을 때, 순서대로 선택하여 "태스크 > 데이터 가져오기"를 실행합니다.


그러면 아래 그림과 같이 가져오기 및 내보내기 마법사가 시작됩니다.


다음 버튼을 눌러서 데이터 원본을 지정합니다.


아래와 같이 원본 형태를 "Microsoft Excel"로 선택하고, "찾아보기" 버튼을 눌러서 데이터베이스에 입력할 엑셀 파일을 선택한 후, "다음" 버튼을 누릅니다.


엑셀 자료가 입력된 대상 서버의 정보를 올바르게 입력하고, 대상 데이터베이스를 선택한 다음에 "다음" 버튼을 누릅니다.


엑셀 자료를 가져오는 것이기 때문에 직접 쿼리를 작성하지 않고, 바로 데이터 복사를 선택된 상태에서 "다음" 버튼을 누릅니다.


엑셀 파일에 있는 쉬트 정보가 표시되고, 데이터베이스에 입력할 시트의 앞부분의 체크 박스를 선택하고, "매핑 편집" 버튼을 누릅니다.


원본 시트가 데이터베이스의 어느 테이블에 입력될 것인지 열에 대한 매핑 정보를 입력하는 것으로 아래와 같이 데이터 유형을 설정하거나, 원본 시트에서 불필요한 자료를 대상에서 제외시킬 수도 있습니다. 아래 예에서는 원본 시트의 모든 컬럼이 문자열형이기 때문에 VARCHAR 데이터 형으로 변경하고, "Contents" 컬럼만 VARCHAR(MAX) 데이터 형으로 변경합니다.


열 매핑이 끝나면 앞서 원본 테이블 및 뷰 선택에서 "다음" 버튼을 누르면 데이터 형식 매핑 검토를 하는데, 특별한 예외 조건이 있거나 하는 경우에 맞게 설정하면 되지만, 대부분 그냥 "다음" 버튼을 눌러 진행하고, 최종 전송 단계에서 오류가 발생했을 경우 그에 맞는 조치를 취해 주면 됩니다. ^^;


현재까지 설정한 정보들을 SSIS 패키지로 저장이 가능하지만, 매번 계속 쓰는 것이 아니기 때문에 바로 "다음" 버튼을 누릅니다.


가져오기 및 내보내기 마법사의 설정이 완료되었고, 현재까지 설정한 정보가 맞는지 대충(?) 확인해 보고, "마침" 버튼을 누릅니다.


엑셀 자료에도 별다른 문제가 없고, 마법사에 설정한 값에 오류가 없으면 아래와 같이 엑셀 시트에 있는 데이터들이 "원본 테이블 및 뷰 선택"에서 지정한 테이블로 입력됩니다.


복사가 성공적으로 이루어진 후에는 SSMS에서 해당 테이블을 SELECT하여 엑셀 시트에 있던 자료가 올바로 입력되었는지 최종적으로 확인하면 됩니다.(참 쉽죠잉~ ^^)