database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 3418 게시물 읽기
No. 3418
dbload로 date format 데이터 로드방법이 있나요?
작성자
하루하루
작성일
2014-06-02 19:00
조회수
3,837

20140602,20140614130124

 

위와 같은 데이터를 informix 테이블에 로드를 하려하는데요...

 

20140602 는 YYYYMMDD 날짜 타입이구요

20140614130124 는 YYYYMMDD HHMISS 타입입니다..

 

dbload 스크립트를 평범하게

 

FILE "./test.dat" DELIMITER ',' 3;

INSERT INTO time_test;

 

이렇게 하면

 

In INSERT statement number 1 of raw data file ./test.dat

Row number 1 is bad.

20140602,20140614130124,

 

이런 오류가 발생하는데.... 제가 봤을때는 날짜 타입을 정확하게 지정해 줘야 할 것 같은데...

 

인터넷을 찾아봐도 모르겠습니다...

 

방법이 있나요??

 

아!!! 그리고 dbload를 할때 적재 테이블을 Truncate 하는 옵션이 있나요?

 

이 글에 대한 댓글이 총 3건 있습니다.

테스트한 내용입니다 참고하시기 바랍니다.

 

① 테이블 및 테스트데이터 생성
$ echo "create table time_test(a date , b datetime year to second,c int)" | dbaccess stores_demo
$ cat test.dat
20140602,20140614130124,

 
② 시간포맷 환경변수 설정
$ export GL_DATE=%Y%m%d
$ export GL_DATETIME=%Y%m%d%H%M%S
 
 
③ DBLOAD 스키마파일 작성
$ cat test.cmd
file /data/test.dat delimiter ',' 3;
insert into test;
 
 
⑤ DBLOAD 실행
$ dbload -d stores_demo -c test.cmd -l test.log -e test.err
 
DBLOAD Load Utility           INFORMIX-SQL Version 11.50.FC9
 
Table test had 1 row(s) loaded into it.
 
 
 
GL_DATE
http://www-01.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.glsug.doc/ids_gug_079.htm?lang=en
 
GL_DATETIME
http://www-01.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.glsug.doc/ids_gug_085.htm?lang=en

 

정상규(pajama)님이 2014-06-03 09:50에 작성한 댓글입니다.
이 댓글은 2014-06-03 09:55에 마지막으로 수정되었습니다.

동일하게 테스트 해봤는데... 아래와 같은 에러가 발생합니다.

 

In INSERT statement number 1 of raw data file test.dat.

Row number 1 is bad.

20140602,20140614130124,,

 

Too many digits in the first field of datetime or interval.

 

환경변수도 다 설정 했는데 말이죠...

------ 추가 -------

DATE format에는 님이 말씀한데로 환경변수가 잘 적용되어 insert가 됬는데

DATETIME 같은경우 insert가 되지 않네요..

----------

 

아 그리고 한가지더..물어볼께요ㅠㅠ 만약 적재테이블에 데이터가 있는 상태에서

 

Truncate 를 하고 적재를 시키고 싶어요...

 

dbload 스크립트에서는 Truncate를 지원하지 않나요?

 

쿼리를 날려서 Truncate를 하고 적용해야 하는건가요?

하루하루님이 2014-06-03 14:23에 작성한 댓글입니다.
이 댓글은 2014-06-03 15:34에 마지막으로 수정되었습니다. Edit

죄송합니다 절차중에 누락된 부분이 있었네요

GL_DATE, GL_DATETIME 및 USE_DTENV 환경변수를 설정하시면 됩니다.

export USE_DTENV=1

 

테이블을 truncate 하는 옵션은 dbload에 없습니다.

로드전에 truncate 를 실행하시면 됩니다.

예) echo "truncate table time_test" | dbaccess testdb

정상규(pajama)님이 2014-06-03 21:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
3421인포믹스 계정생성 및 권한 [1]
허로니
2014-09-04
4981
3420인포믹스 select 시 text (data type)은 mybatis에서 어떤 jdbcType으로 받으면 될까요?
개발자98
2014-07-31
3794
3419onpload 사용방법이 궁금합니다. [1]
김봉달
2014-06-23
2585
3418dbload로 date format 데이터 로드방법이 있나요? [3]
하루하루
2014-06-02
3837
3417dbload 사용방법에 대해서 질문이요.. [2]
김봉달
2014-05-30
2939
3415dbaccess를 통한 원격 Informix DB접속 방법 질문 [6]
김봉달
2014-05-26
6105
3414인포믹스 생초보자가 질문올려요..ㅠㅠ 답변이 있을지.. [2]
김봉달
2014-05-23
4261
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.071초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다