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
운영게시판
최근게시물
Oracle Q&A 721 게시물 읽기
No. 721
Re: text 화일을 필드구분자 이용해서 DB저장하는 법?
작성자
김규태
작성일
2000-05-12 09:22
조회수
11,937

> mysql 에서

>

> 아래와 같은 text 형식을 DB로 저장할 때

>

> ------------------------------------------

> ...

>

> 100-022 | 서울특별시 | 중구 명동2가

> 100-031 | 서울특별시 | 중구 저동1가

>

> ...

> --------------------------------------------

>

> (LOAD DATA INFILE '/tmp/post.txt' REPLACE INTO TABLE postcode FIELDS

>

> TERMINATED BY '|';)

>

> 이런식인데요.

>

> 오라클에선 어떤 명령을 써야하는지요.

>

> 부탁합니다.

>

 

 

SAM file을 오라클 DB로 넣을 때 , sqlldr 또는 sqlload 명령을 사용합니다.

( 같은 명령어인데 버전마다 이름이 약간이 달라졌지요.)

데이타 파일이 '/tmp/post.txt' 이라면

테이블과 데이타에 대한 관련 정보를 control file에 넣고

sqlldr을 사용해서 입력을 하죠.

 

위의 경우를 예제로 들면 /tmp 디렉토리에서 postcode.ctl 파일을 만듭니다.

-------------------------------

load data

infile post.txt

append

into table postcode

fields terminated by '|'

trailing nullcols

(a char "trim(:a)",

b char "trim(:b)",

c char "trim(:c)"

)

-------------------------------

여기서 a,b,c는 칼럼 이름이고, 데이타 파일에 있는 데이타의 순서대로

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

칼럼 이름을 적어 주어야 합니다. 그리고 trim 함수는 데이타의 앞뒤에

공백이 있는 것 같아서 사용했습니다. 없으면 "trim(:a)" 형식은 생략하세요.

그리고 쉘에서

$ sqlldr userid=scott/tiger control=postcode.ctl errors=100000

( 당연히 userid는 postcode 테이블의 owner로 하는 것이 제일 좋지요?)

반드시 작업 디랙토리에서 postcode.log 파일을 읽어보시고,

정상적으로 수행이 되었는지 확인하세요.

만약 정상적으로 수행이 안되었다면 postcode.bad 파일도 있을 겁니다.

이 파일은 입력되지 못한 데이타가 쌓이는 파일인데 원인을 파악하고

다시 넣어셔야 합니다.

 

그리고 보다 자세한 명령은 쉘에서

$ sqlldr

만 하면 커맨드 라인 옵션이 보이고, 간단한 사용법이 나오죠.

자세한 내용은 오라클 매뉴얼 utilities의 SQL*Loader를

보세요. 자세하게 나와 있습니다. 예제도 있구요.

[Top]
No.
제목
작성자
작성일
조회
727Oracle+php+apache 설치시에 Oracle을 다른 서버에 둘려면 어떻게...??
왕무식
2000-05-12
9288
730┕>Re: Oracle+php+apache 설치시에 Oracle을 다른 서버에 둘려면 어떻게...??
김규태
2000-05-12 17:49:55
10542
724ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'
박성민
2000-05-12
9696
726┕>Re: ORA-01552: cannot use system rollback segment for non-system tablespace 'USERS'
김규태
2000-05-12 13:28:51
11638
723oracle8i 설치시 logout되는 문제.
김연석
2000-05-12
9261
744┕>Re: oracle8i 설치시 logout되는 문제.
Firebird
2000-05-14 19:15:42
9869
720text 화일을 필드구분자 이용해서 DB저장하는 법?
김일환
2000-05-12
9482
721┕>Re: text 화일을 필드구분자 이용해서 DB저장하는 법?
김규태
2000-05-12 09:22:49
11937
716급한 질문 (select)
김종호
2000-05-10
9123
717┕>Re: 급한 질문 (select)
김규태
2000-05-11 16:37:51
10407
722 ┕>Re: Re: 급한 질문 (select)
권혁봉
2000-05-12 10:11:48
10598
725  ┕>Re: Re: Re: 급한 질문 (select)
김규태
2000-05-12 13:23:58
9942
713oracle8i (8.1.5) 설치시 문제 해결좀 부탁드립니다.
손현모
2000-05-10
9602
710오라클 함수 질문 (PHP연동)
하상웅
2000-05-10
9993
712┕>Re: 오라클 함수 질문 (PHP연동)
구우경
2000-05-10 12:33:24
11595
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다