Q & A

Re: "loader"에서 Advanced Option(date format)?

Date2003.12.23 / Hit : 11797
"loader"에서 Advanced Option(date format)?
안녕하세요. 오라클 9i 이상을 사용한다면 DATE 대신 TIMESTAMP 형을 사용하시면 처리가 가능하리라 생각합니다. 오라클 DATE 형에서는 초단위 까지만 지원하고 있어 현재 사용하시는 데이터를 바로 DATE 형으로 추가하기 힘들다고 판단됩니다. 꼭 DATE형을 사용하셔야 하는 경우, 가장 좋은 방법은 sybase에서 오라클 형태에 맞게 다시 데이터를 받아서 오라클로 데이터를 import시키는거라 생각합니다만, 데이터를 새로 받을 수 없는 상황이고 AM전에 있는 밀리세컨드 필드가 항상 000이라면 다음과 같은 방법으로 추가할 수 있으리라 생각합니다. 데이터베이스 NLS_DATE_LANGUAGE가 American으로 설정되어 있는 경우에는 Loader Advanced Option에서 DATE 포멧을 MON dd yyyy hh:mi:ss":000"AM 로 설정해서 바로 테이블로 load할 수 있으나 설정이 American이 아니라면 Loader에서 추가는 불가능하고 다음과 같은 과정을 거쳐서 가능합니다. =========================================================== 1. 데이터를 삽입할 테이블과 동일한 컬럼들을 갖는 임시 테이블을 하나 만든다. 여기서 해당 DATE 컬럼의 타입을 VARCHAR2로 합니다. 2. Loader에서 데이터를 새로 만든 테이블로 load한다. 3. SQL Tool에서 alter session set NLS_DATE_LANGUAGE = 'American'을 실행 (현재 Loader에 NLS_DATE_LANGUAGE를 설정하는 기능이 없어 로더를 사용해서 임포트할 수 없음) 4. alter session set NLS_DATE_FORMAT = 'MON dd yyyy hh:mi:ss":000" AM' 실행 5. insert into "데이터를 로드할 테이블" SELECT TO_DATE("A", 'MON dd yyyy hh:mi:ss":000"AM'), ... FROM "새로만든 테이블"; 6. DROP TABLE 임시테이블 =========================================================== 다음 오렌지 Patch에서 로더에 NLS_DATE_LANGUAGE를 설정할 수 있는 기능을 추가할 예정입니다. 수고하세요.

---------- Original Message ----------
이름 : 김돈규 제목 : "loader"에서 Advanced Option(date format)? tab으로 분리된 파일을 loader로 load하려고 합니다. load할 파일은 sybase에서 받아논 데이터인데 sybase의 datetime필드가 oracle의 date 타입으로 load되지 않습니다. advanced option에 찾아봐도 sybase형식의 datetime 타입이 없는데 방법이 없을런지요? sybase의 날짜 데이터는 "Dec 14 1995 12:00:00:000AM"의 형식으로 되있습니다.
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728