Sql loader:正在将嵌入的.CSV文件加载到oracle中\r\n
我有一个.csv文件,其中某些列中的数据有一个或多个\r\n。我需要在没有这些的情况下将它们加载到oracle中,\r\n但是SQLLDR给出了一个错误 以下是记录样本: R1: R2: R3: R4: 我曾经Sql loader:正在将嵌入的.CSV文件加载到oracle中\r\n,sql,oracle,sql-loader,Sql,Oracle,Sql Loader,我有一个.csv文件,其中某些列中的数据有一个或多个\r\n。我需要在没有这些的情况下将它们加载到oracle中,\r\n但是SQLLDR给出了一个错误 以下是记录样本: R1: R2: R3: R4: 我曾经 如果是最后一个,请继续“ “STR'\r\n'”和 替换(:ColumnName,chr(13)| | chr(10),“”) 在控制文件中,但这些解决方案不起作用。那么,我该如何处理 编辑:这是我的控制文件的标题: OPTIONS (DIRECT=TRUE) LOAD DAT
- 如果是最后一个,请继续“
- “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 '"'
...
我找到了。
我应该使用:CONTINUEIF NEXT PRESERVE(1)!=“”,因为记录以“.”开头,只要下一行与“.”相对,它们都算作一条记录。请检查:谢谢,但我认为问题是不同的。在开始处理之前,使用
dos2unix
删除回车。@KaushikNayak记录也被拆分为\r\n。如果我把它去掉会怎么样?(字段之间和记录末尾的\r\n都被删除)@DAVID_ROA,我发布的链接还描述了如何定义换行符,因此它与您的问题相关(或者我认为是这样)。
"A", "B", "
CDE
FGH" , ...
"A", "B", "C
DEF
GH" , ...
"A", "B", "C
DE" , ...
OPTIONS (DIRECT=TRUE)
LOAD DATA
INFILE 'E:test.csv'
INTO TABLE TEMP
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
...