2012-10-03 45 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)。有時觀衆只會停在換行(或回車,或一些二進制字符)。

嘗試先轉儲某些數據的十六進制表示。例如:

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)字符,或任何其他「非打印」的字符存在,如果有的話。