使用oracle_loader类型导入的EXCEL中含有内嵌换行符的数据应该如何处理
createtableCS_ORDER_SER_FOR144039679(TABLE_COL1VARCHAR2(675),TABLE_COL2VARCHAR2(675),...
create table CS_ORDER_SER_FOR144039679 (TABLE_COL1 VARCHAR2(675),TABLE_COL2 VARCHAR2(675),TABLE_COL3 VARCHAR2(675),TABLE_COL4 VARCHAR2(675),TABLE_COL5 VARCHAR2(675),TABLE_COL6 VARCHAR2(675),TABLE_COL7 VARCHAR2(675),TABLE_COL8 VARCHAR2(675),TABLE_COL9 VARCHAR2(675),TABLE_COL10 VARCHAR2(675),TABLE_COL11 VARCHAR2(675),TABLE_COL12 VARCHAR2(675),TABLE_COL13 VARCHAR2(675),TABLE_COL14 VARCHAR2(675),TABLE_COL15 VARCHAR2(675),TABLE_COL16 VARCHAR2(675),TABLE_COL17 VARCHAR2(675),TABLE_COL18 VARCHAR2(675),TABLE_COL19 VARCHAR2(675),TABLE_COL20 VARCHAR2(675),TABLE_COL21 VARCHAR2(675),TABLE_COL22 VARCHAR2(675),TABLE_COL23 VARCHAR2(675),TABLE_COL24 VARCHAR2(675),TABLE_COL25 VARCHAR2(675),TABLE_COL26 VARCHAR2(675),TABLE_COL27 VARCHAR2(675),TABLE_COL28 VARCHAR2(675),TABLE_COL29 VARCHAR2(675),TABLE_COL30 VARCHAR2(675),TABLE_COL31 VARCHAR2(675),TABLE_COL32 VARCHAR2(675),TABLE_COL33 VARCHAR2(675),TABLE_COL34 VARCHAR2(675),TABLE_COL35 VARCHAR2(675),TABLE_COL36 VARCHAR2(675))
organization external
(type oracle_loader default directory data_dir access parameters
( records delimited by newline CHARACTERSET ZHS16GBK badfile 'DATA_DIR':'CS_ORDER_SER_FOR144039674.bad'
skip 4 fields terminated by ',' optionally enclosed
by '"' ldrtrim missing field values are null REJECT ROWS WITH ALL NULL FIELDS )
location ('dataFile-1509949544135.csv')) reject limit unlimited;
上面是对应的生成外部表的sql,但是我的文件中有内嵌的换行符,而delimited by newline 则是定义了导入数据换行为newline。最后生成的数据是错误的,本来应该是一条数据中其中一个字段的值,因为其中有换行符,导致这个值分成了几条数据。
在网上查了很久,没有找到解决的办法,求大神指点。 展开
organization external
(type oracle_loader default directory data_dir access parameters
( records delimited by newline CHARACTERSET ZHS16GBK badfile 'DATA_DIR':'CS_ORDER_SER_FOR144039674.bad'
skip 4 fields terminated by ',' optionally enclosed
by '"' ldrtrim missing field values are null REJECT ROWS WITH ALL NULL FIELDS )
location ('dataFile-1509949544135.csv')) reject limit unlimited;
上面是对应的生成外部表的sql,但是我的文件中有内嵌的换行符,而delimited by newline 则是定义了导入数据换行为newline。最后生成的数据是错误的,本来应该是一条数据中其中一个字段的值,因为其中有换行符,导致这个值分成了几条数据。
在网上查了很久,没有找到解决的办法,求大神指点。 展开
1个回答
展开全部
操作步骤如下:
准备数据:在excel中构造出需要的数据
2.将excel中的数据另存为文本文件(有制表符分隔的)
3.将新保存到文本文件中的数据导入到pl*sql中
在pl*sql中选择tools-->text importer,在出现的窗口中选择"Data from Textfile",然后再选择"Open data file",
在弹出的文件选择框中选中保存有数据的文本文件,此时将会看到data from textfile中显示将要导入的数据
4.在configuration中进行如下配置
注:如果不将"Name in header"勾选上会导致字段名也当做记录被导入到数据库中,从而导致数据错误
5.点击data to oracle,选择将要导入数据的表,并在fields中将文本中的字段与表中的字段进行关联
6.点击import按钮进行导入
7.查看导入的数据
OK,至此数据导入成功。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |