Created with Raphaël 2.1.0
    Loading...
Skip to end of metadata
Go to start of metadata

 

개요


도스 형식의 데이터 파일을 Unix/Linux 서버에서 iloader로 업로드하기 위해서는 에디트 프로그램 또는 dos2unix 를 이용하여 파일을 변환해야 합니다.

변환없이 iloader 를 수행할 경우 아래와 같은 에러가 발생할 수 있습니다.

ERR-9102B : Token value length overflow.

 

도스 형식의 파일은  Row Termination Code 가 CR(Carriage Return) +  LF(Line Feed) 로 구성되어 있습니다. 

iloader는 데이터 파일을  파싱할 때 %n(LF) 을  줄바꿈(Row terminator) 으로 인식합니다. 그래서 도스 형식의 데이터 파일을 업로드 할 때 파싱 에러가 발생할 수 있습니다.

 

도스 형식의 파일을 Linux/Unix 에서 vi 로 파일을 열어보면 라인 끌에 ^M 가 붙어있거나 아래와 같이 보입니다.

"SYS_T.dat" [도스] 225L, 33822C  

 

 

제거 방법


윈도우즈에서 


  • 윈도우즈에서는 에디트 프로그램을 이용하여 변환할 수 있습니다.
  • 예) UltraEdit 에서 파일 -> 변환 -> 'DOS->UNIX' 선택 후 저장

 

Linux/Unix에서


dos2unix 를 이용하여 unix 형 파일로 변환

  • dos2unix 명령은 DOS/MAC 파일을 UNIX 형식으로 변환해줍니다.

    수행 예
    $ dos2unix SYS_T.dat
    dos2unix: converting file SYS_T.dat to UNIX format ...
    dos2unix 수행 전,후 파일 타입 비교
    $ file SYS_T.dat
    SYS_T.dat: ISO-8859 text, with very long lines, with CRLF line terminators           # 도스 형식 파일
     
    $ dos2unix SYS_T.dat
    dos2unix: converting file SYS_T.dat to UNIX format ...
     
    $ file SYS_T.dat
    SYS_T.dat: ISO-8859 text, with very long lines                                       # UNIX 형식 파일

sed 를이용하여 ^M 제거

  • sed 를 이용하여 ^M 제거 한 파일을 iloader 데이터 파일로 사용합니다.
  • ^M 은 Ctrl+v+m 으로 입력해야 합니다.

    수행 예
    $ sed 's/^M//g' SYS_T.dat > SYS_T.dat.1

 

ALTIBASE HDB 5.5.1 부터는 ...


  • ALTIBASE HDB 5.5.1 부터는 레코드 구분자로 CR+LF를 의미하는 %r%n 을 사용하면 파일 변환/수정 없이 업로드 할 수 있습니다.

    수행 예
    $ file SYS_T.txt
    SYS_T.txt: ISO-8859 text, with CRLF, LF line terminators
     
     
    $ iloader -s 127.0.0.1 -u sys -p manager in -f SYS_T.fmt -d SYS_T.txt -log SYS_T.log -bad SYS_T.bad -t "|" -r "%r%n"
    -----------------------------------------------------------------
         Altibase Data Load/Download utility.
         Release Version 5.5.1.4.10
         Copyright 2000, ALTIBASE Corporation or its subsidiaries.
         All Rights Reserved.
    -----------------------------------------------------------------
    ISQL_CONNECTION : TCP
    DATA_NLS_USE: MS949
    UPLOAD : 13.5710 msec
          
         Load Count  : 2(T)

 

 

  • No labels