2012-10-03 2 views
0

필자는 여러 줄로 된 날짜가 있는데이를 테이블에 삽입하고 싶습니다. 그런 다음 카트리지 반환 위치를 유지하면서 카트리지를 검색하고 싶습니다.다중 행 텍스트가 varchar2 필드에 있습니다.

예를 들면. 텍스트 파일에 다음과 같은 데이터가 있습니다.

------------------------------- 
| ID | text    | 
|  |      | 
| 01 | This is headline. | 
| 02 | This is all the text.| 
|  | ¤     | 
|  | Of great story once | 
| 03 | Great weather  | 
------------------------------- 

¤는 카트리지 반환 표시기입니다. 내가 쿼리를 실행하려고하면 다음 데이터는 다음과 같이 제공 :

------------------------------- 
| ID | text    | 
|  |      | 
| 01 | This is headline. | 
| 02 | This is all the text.| 
| 03 | Great weather  | 
------------------------------- 

내가 테이블에 가지고 싶은 것 :

----------------------------------------------------- 
| ID | text          | 
|  |            | 
| 01 | This is headline.       | 
| 02 | This is all the text. Of great story once | 
| 03 | Great weather        | 
----------------------------------------------------- 
(아래 예에서 카트리지 회수를 표시하는 방법을 아무 생각이 없음)

ID 02에 대한 데이터를 완전히 가져 오지 않았으므로 물론 잘못된 것입니다.

LOAD DATA 
INFILE "file.txt" BADFILE "file.bad" DISCARDFILE "file.dsc" 
APPEND 
INTO TABLE text_table 
FIELDS TERMINATED BY X'7C' TRAILING NULLCOLS 
(
    employee_id,   
    exp_pro CHAR(4000) 
) 

어떤 아이디어 : 여기

내 스크립트입니다?

+0

어떻게 데이터를보고 계십니까? 데이터를 버리려고 했습니까? – tbone

답변

2

먼저 데이터 (또는 사용 된 IDE)를 보는 방법에 문제가 없는지 확인하십시오. 때로는 시청자가 줄 바꿈 (또는 캐리지 리턴 또는 일부 바이너리 문자)으로 멈추는 경우가 있습니다.

일부 데이터의 16 진 표현을 먼저 덤프 해보십시오. 예를 들면 :

with txt as (
select 'This is line 1.' || chr(13) || chr(10) || 'Line 2.' as lines 
from dual 
) 
select dump(txt.lines, 16) from txt; 

당신은 무엇이든이있는 경우 다른 "비 인쇄"문자가 ​​존재하는 0d0a (CRLF) 문자, 또는를 볼 수 있어야합니다.