StoryCode

Tibero 2 CSV

Database 관리/Tibero
반응형

# 참조 : https://cafe-de-java.tistory.com/4

# 참조 : https://tommypagy.tistory.com/80

 

한글문제 ) locale -a export LANG="ko_KR.UTF-8" 

 

티베로에서 쿼리 결과를 CSV 파일로 만드는 스크립트이다.

Shell Script에서 Query String 에 "*" Asterisk 문자가 들어가는 경우 주의해서 처리가 필요하다.

(다운로드 : csv_conver_shell파일.txt

 

 

※ 주의 : Asterisk 처리할 때 <더블 쿼테이션><싱글 쿼테이션><아스테리크><싱글 쿼테이션><더블 쿼테이션> 순서로 작성할 것

 

 

$ cat csv_convert.sh

#!/bin/sh

 

CSV_FILE="/home/tibero/work/out.csv"

QUERY_STR="select "'*'" from all_tables;"

SQL_COMMAND="tbsql -s sys/tibero"

 

RESULT=`$SQL_COMMAND <<EOF

set pagesize 0 feedback off ver off heading off echo off

set pages 0 colsep ',' trimspool on lines 30000 termout off

spool $CSV_FILE

$QUERY_STR

spool off

quit

/

EOF

`

 

 

참고로 Asterisk 문자를 Shell Script에서 Query String안에 들어있는 경우 echo 처리 부분은 아래 박스를 참고할 것

 

 

$ QUERY_STR2="SELECT "'*'" FROM ALL_TABLES"

 

$ echo $QUERY_STR2

SELECT csv_convert.sh out.csv FROM ALL_TABLES  ==> Asterisk문자가 현재 디렉토리의 파일 목록으로 대체된다.

 

$ echo "'$QUERY_STR2'"

'SELECT * FROM ALL_TABLES'

 

$ echo "$QUERY_STR2"

SELECT * FROM ALL_TABLES

 

select 문장에 asterisk 가 들어가는 경우 shell script안에 변수로 처리하기가 까다토울 수 있다.

그래서 tbsql 툴을 사용해서 shell script를 짤 경우에는 @를 이용해서 외부 파일을 실행하는 방법으로 스크립트 작성이 편리해 보인다.

 

반응형

'Database 관리 > Tibero' 카테고리의 다른 글

Spool 옵션  (0) 2022.01.11
Tibero to PostgreSQL  (0) 2022.01.07