sqlloader上传文件时出现 Rows not loaded

来源:互联网 发布:csol一键大跳宏编程 编辑:程序博客网 时间:2024/06/05 17:30

oracle :10.2.0.5

os:windows 2008 64 bit

数据放在control 文件里面:

BEGINDATA
12,RESEARCH,"SARATOGA"
10,"ACCOUNTING",CLEVELAND
11,"ART",SALEM
13,FINANCE,"BOSTON"
21,"SALES",PHILA.
22,"SALES",ROCHESTER
42,"INT'L","SAN FRAN"

用sqlloader上传后,在日志文件出现7行上传成功,7行上传失败。但是ctl文件里面看上去就只有7行。


原因:

将文件在liux下打开,用cat -A查看:

^M$
BEGINDATA^M$
^M$
12,RESEARCH,"SARATOGA" ^I$
^M$
10,"ACCOUNTING",CLEVELAND^M$
$
11,"ART",SALEM$
^M$
13,FINANCE,"BOSTON"$
^M$
21,"SALES",PHILA.^M$
$
22,"SALES",ROCHESTER$
^M$

原本control文件是从linux上拷贝的,然后在windows下从新编辑。由于linux和windows的断行符号不一样,从linux传下来的文件windows上看每行就没有回车;所以就在windiws下添加了回车^M$'。这样上传的时候,以上只有$或^M$的都不能正确上传


如果在windows平台上开启sqlloader,开启一个notepad,然后一个字符字符敲入命令,不要将linux下的文档拿来编辑。


或则在windows下不知道有没有相关转断行符的程序,就像linux下dos2unix

0 0
原创粉丝点击