음... 저는 솔라리스에서 해봐서... 유닉스 기준으로 말씀드릴께요.
일단 csv 파일을 오라클 클라이언트가 설치된 (sqlplus, sqlldr등)
곳으로 곳으로 옮깁니다. 그 후에 control file 을 만드세요.
sample control file은 8i의 경우 $ORACLE_HOME/rdbms/demo 에 보
시면 ulcase*.ctl 이 있고요. 이걸 잘 보시고 입맛에 맞게 고쳐쓰
시면 됩니다. 대충 샘플을 보면...
LOAD DATA
INFILE 'sample.txt'
INTO TABLE EMP
REPLACE
FIELDS TERMINATED BY ','
( EMPNO INTEGER EXTERNAL,
ENAME CHAR,
JOB CHAR,
MGR INTEGER EXTERNAL,
SAL DECIMAL EXTERNAL,
COMM DECIMAL EXTERNAL,
DEPTNO INTEGER EXTERNAL,
RES_FILE FILLER CHAR,
"RESUME" LOBFILE (RES_FILE) TERMINATED BY EOF NULLIF RES_FILE = 'NONE'
)
이와 비슷한 형식으로 작성을 하시고 sqlldr 로 오라클에 집어 넣으시면
됩니다.
$sqlldr control=samplt.ctl
뭐 이런식으로요.. 만약 cvs가 ctl 파일에서 요구하는 포맷에 맞지 않는
다면 log 가 남으면서 .bad 파일에 다 저장이 되니까 잘 안되면 .log 파
일을 잘 보세요. 왜 안들어가는지 이유가 거기 있으니까요.
성공하시길
: 저는 레코드가 약 50000개 정도 되는 엑셀 파일을
: 오라클에 넣은 적이있습니다.
: 그때는 csv (필드가 ","로 분리되어있는) 혹은 탭
: 으로 분리되어 있는 텍스트 파일로 저장한 다음
: sql*loader 로 넣었어요. control 파일 만들어서요.
: 음. 그렇게 어렵지 않을듯...
:
: :
: : 필드가 세개구여...
: :
: : 레코드는 500개 정도 되는데..
: :
: : 바꾸는 방법좀 알려주세욤...
: :
: : 부탁드립니다.
:
: --
: return true
:
: 위에 첫번째 질문에 답변주셔서 감사합니다.
: sql*loader / control 파일 만드는 방법도 좀 알려주세욤
: 잘 몰라서. ^^;;--return true