sql loader不会在char中加载空行

时间:2015-02-08 18:59:53

标签: sql-loader

我有一个文件UNL_PRODUCT_ATTRIBUTE.dat,其中包含以下数据:

490319433|ProductAttribute||Electronic Instructions|CC - Emma Marshall - 4/2/13. Doc Id is 28248500
_____________________________________________________________________________
Peta Mayes 4/02/2013
DOC ID 08248500||||
490319515|ProductAttribute||Electronic Instructions|CC - Emma Marshall - 4/2/13. Doc Id is 28248500
_____________________________________________________________________________
Peta Mayes 4/02/2013
DOC ID 28248500||||
490319516|ProductAttribute||Electronic Instructions|CC - Emma Marshall - 4/2/13. Doc Id is 28248500
_____________________________________________________________________________
Peta Mayes
DOC ID 28248500||||

我正在使用如下控制文件:

load data INFILE  'UNL_PRODUCT_ATTRIBUTE.dat' "STR '\N'"
append
into table UNL_PRODUCT_ATTRIBUTE
fields terminated by '|'  
(
PRODUCT_ID decimal external,
ATTRIBUTE_TYPE char(16),
ATTRIBUTE_GROUP decimal external,
ATTRIBUTE_NAME char(255),
ATTRIBUTE_VALUE  char(4000)  ,
CONTENT_ID char(4000),
CONTENT_VERSION char(4000),
CONTENT_TYPE char(4000))

我的问题是它只加载下面的第一个条目。所有其他条目都被拒绝。请指教。

 490319433|ProductAttribute||Electronic Instructions|CC - Emma Marshall - 4/2/13. Doc Id is 28248500
_____________________________________________________________________________
Peta Mayes 4/02/2013
DOC ID 08248500||||

请注意,此处使用|作为分隔符。

1 个答案:

答案 0 :(得分:0)

如果多行字段包含您要保留的回车符,则INFILE行最后应为"str x'0D'"。 有关详情,请参阅此帖子:https://stackoverflow.com/a/37216660/2543416