Sql loader:将嵌入了\ r \ n的.CSV文件加载到oracle中

时间:2018-05-19 07:24:48

标签: sql oracle sql-loader

我有一个.csv文件,其中某些列中的数据有一个或多个\ r \ n。我需要在没有这些\ r \ n的情况下将它们加载到oracle中,但SQLLDR会出错。

以下是记录样本:

R1:

"A", "B", "
CDE
FGH" , ...

R2:

"A", "B", "
CDE

FGH" , ...

R3:

"A", "B", "C
DEF
GH" , ...

R4:

"A", "B", "C
DE" , ...

我用过

  • continueif last!='"' ,
  • " STR' \ r \ n'"和
  • 替换(:ColumnName,chr(13)|| chr(10),''),

    在控制文件中,但这些解决方案并不起作用。那么,我该如何处理呢?

编辑:这是我的控制文件的标题:

OPTIONS (DIRECT=TRUE)
LOAD DATA
INFILE 'E:test.csv'
INTO TABLE TEMP
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
...

1 个答案:

答案 0 :(得分:0)

我找到了。 我应该使用:CONTINUEIF NEXT PRESERVE(1)!=' " ',因为记录以'开头。 " '并且只要下一行反对' " ',它们都算作一条记录。