SQL 로더 사용법

2010.10.12 11:04

가을의 곰을... 조회 수:9737

SQL loader사용법 - 샘플화일 첨부

|

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 
sqlloader를 사용하기 위해서는 미리 테이블이 만들어져 있어야 함.

sqlloader 화일 샘플

#!/bin/csh
if ( $#argv != 2) then
    echo "Usage:
SQL loader사용법 - 샘플화일 첨부

|

 

 
sqlloader를 사용하기 위해서는 미리 테이블이 만들어져 있어야 함.

sqlloader 화일 샘플

#!/bin/csh
if ( $#argv != 2) then
    echo "Usage: $0 <DataFile> <logFileName>"
    exit 1
endif

sqlldr userid=oracle/oracle control=tblmacs_tmpidrlog.ctl data=$1 log=$2.log commit_discontinued=true

data는 raw데이타 들어갈 부분, log는 생략해도 무방..., commit으로 시작하는 부분도 생략가능

실행방법

sqlloader.sh "실제데이타 화일"
ex) sqlloader.sh  SWBLS1_FWEBIDR1_ID0001_T20030603000109.DAT

이런식으로 사용 가능(원격폴더 지정시)
## sqlloader.sh /bear02/macslog/20030401/SWBLS1_FWEBIDR1_ID0001_T20030401000110.DAT /bear01/brewlog/src/eshock/log/z0000

control화일 샘플

load data
INFILE *
append
into table TBLMACS_TMPIDRLOG
when RECORD_TYPE='R'
(
        RECORD_TYPE position(01:01) char
       ,RECORD_SEQ  position(02:08) char
       ,SVC_TYPE    position(09:09) char
       ,CALL_NUM    position(10:20) char
       ,CHARGE_NUM  position(21:31) char
       ,CP_NO       position(32:36) char
       ,CONTENTS_NO position(37:38) char
       ,MENU_NO     position(39:40) char
       ,CALL_START  position(41:54) char
       ,DURATION    position(55:63) char
       ,PKT_CNT     position(64:72) char
       ,PHONE_TYPE  position(73:87) char
       ,BROWSER_VER position(88:102) char
)

position은 순서대로 1부터 1까지 자름, 그다음 2칸째부터 8칸 이후까지를 의미함.





[ SQL*Loader 사용하기 ]
작성일자 : 2001년 6월 11일
작 성 자 : 조수환


1. SQL*Loader를 이용해서 Data를 넣을 파일을 Excel에서 생성한다.
        - 파일을 *.csv로 저장을 한다.
          (SQL*Loader를 사용하기 위해서는 ,(콤마)가 필요하다)
        즉, 다음과 같은 데이타 포멧이면 된다.
                10000,CEO,등록
                10020,CEO CEO실,등록
                150000,솔루션사업부문,등록
                150010,솔루션사업부문 신프라팀,등록
                150020,솔루션사업부문 기관영업팀,등록
                150030,솔루션사업부문 사업지원팀,등록
                150040,솔루션사업부문 CS팀,등록

2. csv 파일에는 departcode, departname, gubun 의 형식을 데이타가 들어가 있다.

        Ex>        departcode,         departname,         gubun
                ---------- ------------------------------
                   180040         경영전략부문         홍보팀
                   190000         재경부문
                   190010         재경부문         재경기획팀
                   190020         재경부문         재경팀
                   190030         재경부문         물류지원팀
                   200000         인재기획실


3. Data를 넣을 테이블의 명세서는 다음과 같다.
        SQL> desc departinfo;
         이름       널?      유형
         ---------- -------- ------------
         ID         NOT NULL NUMBER
         DEPARTCODE              NUMBER(6)
         DEPARTNAME          VARCHAR2(40)
         CREATEDATE          DATE
         MODIFYDATE          DATE
         GUBUN               CHAR(4)
        

4. 콘트롤 파일(abc.ctl) 을 하나 만들고, 다음과 같은 내용을 기록한다.

        LOAD DATA
        INFILE '부서코드.csv'                        -- 참조할 파일은 부서코드.csv
        replace                                        -- 테이블의 내용을 모두 삭제한 후에 입력
        INTO TABLE departinfo                        -- 데이타가 들어갈 테이블 명
        fields terminated by ','                -- ,(콤마)를 기준으로 구분한다.
        (
          id                sequence(1,1),                -- 1부터 1씩 증가시킨다.
          departcode        integer external,        -- 외부의 데이타를 가져온다.
          departname        char(40),                -- 문자열은 40
          createdate        sysdate,                -- Load를 할 때 sysdate값을 넣어준다.
          modifydate    sysdate,                -- Load를 할 때 sysdate값을 넣어준다.
          gubun        char(4)                                -- 문자열은 4
        )


5. SQL*Loader를 실행시킨다.
        # sqldlr atomx/akstp@sysora control=abc.ctl log=0611.log
        - > 위와 같이 하면 부서코드.csv의 내용이 conrolfile의 정의와 함께
            테이블에 쭉 들어간다.



<참조> 다른 컨트롤 파일의 내용

1. 컨트롤 파일(bbb.ctl)의 내용
        LOAD DATA
        INFILE '사원인사.csv'
        replace
        INTO TABLE companyinfo
        fields terminated by ','
        (
          id                sequence(1,1),
          companycode        integer external,
          name                char(20),
          departcode        integer external,
          tel                char(4) nullif tel = blanks,        -- 만일 공백이면 NULL상태로 만든다.
          enteringdate        date ,
          createdate        sysdate,
          modifydate    sysdate,
          gubun        char(4)
        )


2. sqlldr atomx/akstp@sysora control=bbb.ctl log=0611.log


<script> function hrefMark(){ } function hrefPageGo(mark){ try{ if(mark == 'top'){ parent.window.scrollTo(0,0); }else{ document.location.href=this.location.href+"#comment"; } }catch(e){} } //포스트 글로딩후 top포커수 주기 setTimeout('hrefPageGo("top")',300); </script>
<DataFile> <logFileName>"
    exit 1
endif

sqlldr userid=oracle/oracle control=tblmacs_tmpidrlog.ctl data=842 log=142.log commit_discontinued=true

data는 raw데이타 들어갈 부분, log는 생략해도 무방..., commit으로 시작하는 부분도 생략가능

실행방법

sqlloader.sh "실제데이타 화일"
ex) sqlloader.sh  SWBLS1_FWEBIDR1_ID0001_T20030603000109.DAT

이런식으로 사용 가능(원격폴더 지정시)
## sqlloader.sh /bear02/macslog/20030401/SWBLS1_FWEBIDR1_ID0001_T20030401000110.DAT /bear01/brewlog/src/eshock/log/z0000

control화일 샘플

load data
INFILE *
append
into table TBLMACS_TMPIDRLOG
when RECORD_TYPE='R'
(
        RECORD_TYPE position(01:01) char
       ,RECORD_SEQ  position(02:08) char
       ,SVC_TYPE    position(09:09) char
       ,CALL_NUM    position(10:20) char
       ,CHARGE_NUM  position(21:31) char
       ,CP_NO       position(32:36) char
       ,CONTENTS_NO position(37:38) char
       ,MENU_NO     position(39:40) char
       ,CALL_START  position(41:54) char
       ,DURATION    position(55:63) char
       ,PKT_CNT     position(64:72) char
       ,PHONE_TYPE  position(73:87) char
       ,BROWSER_VER position(88:102) char
)

position은 순서대로 1부터 1까지 자름, 그다음 2칸째부터 8칸 이후까지를 의미함.





[ SQL*Loader 사용하기 ]
작성일자 : 2001년 6월 11일
작 성 자 : 조수환


1. SQL*Loader를 이용해서 Data를 넣을 파일을 Excel에서 생성한다.
        - 파일을 *.csv로 저장을 한다.
          (SQL*Loader를 사용하기 위해서는 ,(콤마)가 필요하다)
        즉, 다음과 같은 데이타 포멧이면 된다.
                10000,CEO,등록
                10020,CEO CEO실,등록
                150000,솔루션사업부문,등록
                150010,솔루션사업부문 신프라팀,등록
                150020,솔루션사업부문 기관영업팀,등록
                150030,솔루션사업부문 사업지원팀,등록
                150040,솔루션사업부문 CS팀,등록

2. csv 파일에는 departcode, departname, gubun 의 형식을 데이타가 들어가 있다.

        Ex>        departcode,         departname,         gubun
                ---------- ------------------------------
                   180040         경영전략부문         홍보팀
                   190000         재경부문
                   190010         재경부문         재경기획팀
                   190020         재경부문         재경팀
                   190030         재경부문         물류지원팀
                   200000         인재기획실


3. Data를 넣을 테이블의 명세서는 다음과 같다.
        SQL> desc departinfo;
         이름       널?      유형
         ---------- -------- ------------
         ID         NOT NULL NUMBER
         DEPARTCODE              NUMBER(6)
         DEPARTNAME          VARCHAR2(40)
         CREATEDATE          DATE
         MODIFYDATE          DATE
         GUBUN               CHAR(4)
        

4. 콘트롤 파일(abc.ctl) 을 하나 만들고, 다음과 같은 내용을 기록한다.

        LOAD DATA
        INFILE '부서코드.csv'                        -- 참조할 파일은 부서코드.csv
        replace                                        -- 테이블의 내용을 모두 삭제한 후에 입력
        INTO TABLE departinfo                        -- 데이타가 들어갈 테이블 명
        fields terminated by ','                -- ,(콤마)를 기준으로 구분한다.
        (
          id                sequence(1,1),                -- 1부터 1씩 증가시킨다.
          departcode        integer external,        -- 외부의 데이타를 가져온다.
          departname        char(40),                -- 문자열은 40
          createdate        sysdate,                -- Load를 할 때 sysdate값을 넣어준다.
          modifydate    sysdate,                -- Load를 할 때 sysdate값을 넣어준다.
          gubun        char(4)                                -- 문자열은 4
        )


5. SQL*Loader를 실행시킨다.
        # sqldlr atomx/akstp@sysora control=abc.ctl log=0611.log
        - > 위와 같이 하면 부서코드.csv의 내용이 conrolfile의 정의와 함께
            테이블에 쭉 들어간다.



<참조> 다른 컨트롤 파일의 내용

1. 컨트롤 파일(bbb.ctl)의 내용
        LOAD DATA
        INFILE '사원인사.csv'
        replace
        INTO TABLE companyinfo
        fields terminated by ','
        (
          id                sequence(1,1),
          companycode        integer external,
          name                char(20),
          departcode        integer external,
          tel                char(4) nullif tel = blanks,        -- 만일 공백이면 NULL상태로 만든다.
          enteringdate        date ,
          createdate        sysdate,
          modifydate    sysdate,
          gubun        char(4)
        )


2. sqlldr atomx/akstp@sysora control=bbb.ctl log=0611.log


<script> function hrefMark(){ } function hrefPageGo(mark){ try{ if(mark == 'top'){ parent.window.scrollTo(0,0); }else{ document.location.href=this.location.href+"#comment"; } }catch(e){} } //포스트 글로딩후 top포커수 주기 setTimeout('hrefPageGo("top")',300); </script>
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
58 오픈소스 강의 (Lecture of OpenSource) 가을의 곰을... 2011.10.14 6713
57 우분투 10.10(64bit)에서 안드로이드 소스(Gingerbread) 빌드하기 가을의 곰을... 2011.10.06 12106
56 스타벅스에서 Arduino 개발 연습하기..... file 가을의 곰을... 2011.09.25 10566
55 파이썬 인공지능 코드 가을의 곰을... 2011.08.21 9056
54 JSP: 개발환경 구축 JSP: 톰캣 + MySQL + 이클립스, 개발환경 구축 file 가을의 곰을... 2011.08.21 8069
53 Importing projects from NetBeans to Eclipse file 가을의 곰을... 2011.07.04 9139
52 미국 대학교 인터넷 오픈 강좌 50 가을의 곰을... 2011.06.05 7105
51 Java GUI 프로그래밍 가을의 곰을... 2011.06.05 15805
50 정보처리기술사 학습관련 사이트 가을의 곰을... 2011.06.04 9426
49 [GMP] 2011.05.14-21 Today's Word file 가을의 곰을... 2011.05.14 9024
48 Sockets Tutorial 가을의 곰을... 2011.04.24 4680
47 Tkinter GUI 프로그래밍 가을의 곰을... 2011.04.24 10557
46 Tkinter로 생각하기 가을의 곰을... 2011.04.24 6045
45 TKinter 요약 가을의 곰을... 2011.04.24 7318
44 기술사 합격시 혜텍 가을의 곰을... 2011.02.14 10353
43 삼성블로그 추천의 독서법 가을의 곰을... 2011.01.17 9349
42 [알아봅시다] 이통사들의 모바일 트래픽 해법 file 가을의 곰을... 2010.10.31 10144
41 perl 프로그래밍 개요 가을의 곰을... 2010.10.15 9315
» SQL 로더 사용법 file 가을의 곰을... 2010.10.12 9737
39 소스인사이트 단축키 (2) 가을의 곰을... 2010.10.11 17101
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED