연구개발/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개가 넘어가면 효율적이지 못한 노가다 작업이다.

 1.bmp

 


기존의 배치파일 내용을 하기와 같이 바꿔 보자

 

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)을 사용하여 적절하게 조절하면 된다.

 

반응형