导入导出时chr(13)和chr(10)的处理
2016-05-11 09:33
239 查看
今天做项目导入导出的时候遇到一个问题:(文字叙述有点乱
)
sqluldr导出的文件,然后使用sqlldr导入一张表结构完全一致的表时出现错误提示。
提示表的字符不匹配,以及字符长度超过限制
于是看了一下,导出来的文件以及表结构
表结构中有varchar(2000)的字段,在导出的文件中对比,发现该行出现断层(换行)
在sqluldr的命令中,在该字段加上 replace(a,chr(10),''),再次导出文件。
打开文件对比发现该字段还是会出现断层(换行),继续修改sqludr的命令
在该字段加上 replace(replace(a,chr(10),''),chr(13),''),再次导出文件。
打开文件,断层消失
总结:sqluldr导出的文件中如果出现断行,那么sqlldr导入的时候就会出现各种不匹配和超过限制。
至于chr(10)换行&chr(13)回车的区别,可以到linux换行都是/n,windows是/n和/r
实施sqlldr导入,提示失败
查看错误日志:
Record 1: Rejected - Error on table TEST01, column CREATE_DATE.
ORA-01861: literal does not match format string
字符不匹配,再次看看日志
CREDIT_DATE NEXT * CHARACTER
Terminator string : '@|@'
发现导入的格式CHARACTER ,而表结构 CREDIT_DATE是date
所以需要转换一次
修改控制文件
CREDIT_DATE "to_date(: CREDIT_DATE,'''yyyy-mm-dd hh24:mi:ss)"
同时对于字段超过255的字段需要特别指定字符长度
例如:DESC char(500)(注意是char而不是varchar)
总结:sqluldr导出时需要特别注意换行符和回车符,sqlldr导入时注意字段类型(特别是date)是否需要转换,字段的长度超过255的都需要特别指定长度char(lengh);
)
sqluldr导出的文件,然后使用sqlldr导入一张表结构完全一致的表时出现错误提示。
提示表的字符不匹配,以及字符长度超过限制
于是看了一下,导出来的文件以及表结构
表结构中有varchar(2000)的字段,在导出的文件中对比,发现该行出现断层(换行)
在sqluldr的命令中,在该字段加上 replace(a,chr(10),''),再次导出文件。
打开文件对比发现该字段还是会出现断层(换行),继续修改sqludr的命令
在该字段加上 replace(replace(a,chr(10),''),chr(13),''),再次导出文件。
打开文件,断层消失
总结:sqluldr导出的文件中如果出现断行,那么sqlldr导入的时候就会出现各种不匹配和超过限制。
至于chr(10)换行&chr(13)回车的区别,可以到linux换行都是/n,windows是/n和/r
实施sqlldr导入,提示失败
查看错误日志:
Record 1: Rejected - Error on table TEST01, column CREATE_DATE.
ORA-01861: literal does not match format string
字符不匹配,再次看看日志
CREDIT_DATE NEXT * CHARACTER
Terminator string : '@|@'
发现导入的格式CHARACTER ,而表结构 CREDIT_DATE是date
所以需要转换一次
修改控制文件
CREDIT_DATE "to_date(: CREDIT_DATE,'''yyyy-mm-dd hh24:mi:ss)"
同时对于字段超过255的字段需要特别指定字符长度
例如:DESC char(500)(注意是char而不是varchar)
总结:sqluldr导出时需要特别注意换行符和回车符,sqlldr导入时注意字段类型(特别是date)是否需要转换,字段的长度超过255的都需要特别指定长度char(lengh);
相关文章推荐
- oracle中导出导入表以及数据
- gbk与gb2312的区别
- CSS3 background-size
- Runtime的实践——给一个类添加属性(关联对象)
- 文件系统的类型是 NTFS。 由于该卷已设置为写保护,因此 Windows 无法在上面运行磁检查
- [唐诗]古风(其一)-李白
- 初识Hadoop
- SharedPreferences getString异常
- mysql 数据库的导入导出
- ubuntu更新时区
- js 跳转问题
- PPPoE简介
- 删除字符串的一部分
- UGUI实现的变速摇杆 (转)
- AndroidStudio错误总结及解决(待续)
- Node.js机制及原理理解初步
- selector android:state_enabled或者state_pressed设置无效
- android广播(内部类)使用
- 微信支付遇到的坑
- Ansible hostvars