연구개발/DBA
OSQL을 통한 CSV 추출 팁(100601)
머리만1톤
2011. 8. 14. 01:01
반응형
목적 : 쿼리를 통해 추출한 내용을 CSV로 넘겨줄시 최대한 시간을 아껴보자!!!
쿼리결과를 CSV 파일로 요구하는 요청이 들어왔다.
기존의 배치파일 안의 Osql 구문은 하기와 같았다.
start osql -S[서버명] -U[ID명] -P%1 -d[DB명] -iworlddb_csv.txt -oLog\01.csv
start osql -S[서버명] -U[ID명] -P%1 -d[DB명] -iworlddb_csv.txt -oLog\02.csv
..
..
결과 파일이 CSV로 출력되기는 하지만 하기와 같이 하나의 셀에 모든 DB컬럼들이 삽입되어 요청부서에 넘길시
각 컬럼 별로 셀로 구분해야하는 추가 작업이 필요하다.
만약 결과 파일이 10개가 넘어가면 효율적이지 못한 노가다 작업이다.
기존의 배치파일 내용을 하기와 같이 바꿔 보자
start osql -S[서버명] -U[ID명] -P%1 -d[DB명] -iworlddb_csv.txt -w 700 -s "," -n -oLog\01.csv
추가된 내용의 상세 설명은 하기와 같다.
[-w<열너비>]
[-s<열구분기호>]
[-n <번호매기기 제거>]
해당 방법으로 쿼리를 실행시킬 시 CSV파일에 각 컬럼별로 셀이 구분되어 진다.(CSV는 자동으로 ,(콤마) 로 기준으로 셀 분류)
결과값이 길면 열너비옵션(-w)을 사용하여 적절하게 조절하면 된다.
반응형