|
안녕하세요 이앤비입니다.
MS-SQL에서 bcp를 이용하여 데이터를 텍스트파일로 받아 ftp 에 올려 놓은뒤
유닉스서버에서 가져간 뒤 오라클 9i 에 SQL LOADER를 이용하여 DB 에 INSERT를 하려 합니다.
텍스트파일의 필드는 단지 4개이며 문자필드 3개, 마지막에 숫자필드입니다.
윈도우에서 텍스트파일을 열어보면 텍스트파일은 잘 생성되어 있으며 윈도우에 설치되어 있는 오라클에는
SQL LOADER를 이용하여 잘 INSERT 됩니다.
헌데 유닉스에서 FTP 로 받아 vi 로 열어보면 행의 마지막부분에 캐리지리턴값 대신
각 행마다 ^M 값이 모두 들어가 있습니다.
그래서 SQL LOADER를 이용하여 DB 에 넣으려고 하면 마지막 컬럼이 숫자컬럼이 INVALID COLUMN 이라는 에러메시지가 나면서 들어가질 않습니다.
필드 구분자는 | 이고 OPTIONALLY ENCLOSED BY 도 처리는 하긴 했는데
이 ^M 을 어떻게 넣어야 할지 난감하네요....
인터넷을 찾아보니 ^M 이 [Control]+v+m 이라는 게 있길래
컨트롤 파일의 ENCLOSED BY 부분에 '[Control]+v+m' 을 하니 정말 ^M 이라고 나오긴 하던데
여전히 db 에 들어가지는 않습니다.
유닉스는 HP 인데.... 윈도우에서 열어본 텍스트파일은 유닉스로 가면 행마지막 부분 캐리지리턴에 ^M 이 붙을수도 있다고 하던데요...
텍스트파일이 너무 크기(약 1기가) 때문에 ^M 을 찾아서 지울수는 없습니다.
SQL LOADER 의 컨트롤 파일안에서 해결을 해야 할것 같은데
해결방법이 없을까요? 고수님들의 많은 도움 부탁드립니다.
|