C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' data='C:\Users\jenkin\Desktop\img\sqlldr\datas1.txt'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 4月 10 16:35:20 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-601: 对于 INSERT 选项, 表必须为空。表 STUDENT 上出错
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' data='C:\Users\jenkin\Desktop\img\sqlldr\datas1.txt'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 4月 10 16:36:38 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-601: 对于 INSERT 选项, 表必须为空。表 STUDENT 上出错
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' data='C:\Users\jenkin\Desktop\img\sqlldr\datas1.txt'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 4月 10 16:37:52 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 21
C:\Users\jenkin>
----执行没有成功
---add log
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' data='C:\Users\jenkin\Desktop\img\sqlldr\datas2.txt' log='
C:\Users\jenkin\Desktop\img\sqlldr\log.txt'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 4月 10 17:05:05 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 6
C:\Users\jenkin>
--查看log信息
SQL*Loader: Release 11.2.0.1.0 - Production on 星期一 4月 10 17:05:05 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
控制文件: C:\Users\jenkin\Desktop\img\sqlldr\loadctl.txt
为全部输入指定了字符集 UTF8。
数据文件: C:\Users\jenkin\Desktop\img\sqlldr\datas2.txt
错误文件: bad.txt
废弃文件: 未作指定
(可废弃所有记录)
要加载的数: ALL
要跳过的数: 0
允许的错误: 50
绑定数组: 64 行, 最大 256000 字节
继续: 未作指定
所用路径: 常规
表 STUDENT,已加载从每个逻辑记录
插入选项对此表 APPEND 生效
列名 位置 长度 中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
SNO FIRST * , CHARACTER
SNAME NEXT * , CHARACTER
SSEX NEXT * , CHARACTER
SBIRTHDAY NEXT * , DATE yyyy-mm-dd hh24:mi:ss
SCLASS NEXT * , CHARACTER
记录 1: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
记录 2: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
记录 3: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
记录 4: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
记录 5: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
记录 6: 被拒绝 - 表 STUDENT 的列 SNO 出现错误。
ORA-12899: 列 "solgle"."STUDENT"."SNO" 的值太大 (实际值: 4, 最大值: 3)
表 STUDENT:
0 行 加载成功。
由于数据错误, 6 行 没有加载。
由于所有 WHEN 子句失败, 0 行 没有加载。
由于所有字段都为空的, 0 行 没有加载。
为绑定数组分配的空间: 82560 字节 (64 行)
读取 缓冲区字节数: 1048576
跳过的逻辑记录总数: 0
读取的逻辑记录总数: 6
拒绝的逻辑记录总数: 6
废弃的逻辑记录总数: 0
从 星期一 4月 10 17:05:05 2017 开始运行
在 星期一 4月 10 17:05:05 2017 处运行结束
经过时间为: 00: 00: 00.13
CPU 时间为: 00: 00: 00.03
----原ctl文件定义
load data
CHARACTERSET UTF8
infile 'datas1.txt'
badfile 'bad.txt'
append into table student
fields terminated by ','
(sno,
sname,
ssex,
sbirthday date "yyyy-mm-dd hh24:mi:ss",
sclass)
----更改后定义
load data
infile 'datas1.txt'
badfile 'bad.txt'
append into table student
fields terminated by ','
(sno "trim(:sno)",
sname "trim(:sname)",
ssex "trim(:ssex)",
sbirthday date "yyyy-mm-dd hh24:mi:ss",
sclass "trim(:sclass)")
---还是报错
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadct2.txt' logfile='C:\Users\jenkin\Desktop\img\sqlldr\log.txt'
LRM-00101: 未知的参数名 'logfile'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期二 4月 11 10:01:32 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
SQL*Loader-100: 命令行语法错误
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' data='C:\Users\jenkin\Desktop\img\sqlldr\datas2.txt' log='
C:\Users\jenkin\Desktop\img\sqlldr\log.txt'
SQL*Loader: Release 11.2.0.1.0 - Production on 星期二 4月 11 10:02:53 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 6
C:\Users\jenkin>
---查看log信息 (日期格式不对)
记录 1: 被拒绝 - 表 STUDENT 的列 SBIRTHDAY 出现错误。
ORA-01861: 文字与格式字符串不匹配
---算了这个数据还是让sqlldr自己导出来一份看看是怎么样的
C:\Users\jenkin>sqluldr2 solgle/******@guard query="select * from student" tab
le="student" file="C:\Users\jenkin\Desktop\img\sqlldr\datas3.txt"
0 rows exported at 2017-04-11 10:28:52, size 0 MB.
6 rows exported at 2017-04-11 10:28:52, size 0 MB.
output file C:\Users\jenkin\Desktop\img\sqlldr\datas3.txt closed at 6 r
ows, size 0 MB.
C:\Users\jenkin>
----该语句导出还要区分单引号和双引号,此处只能用单引号才不会报错
----看数据导出结果:
108,曾华,男,1977-09-01 00:00:00,95033
105,匡明,男,1975-10-02 00:00:00,95031
107,王丽,女,1976-01-23 00:00:00,95033
101,李军,男,1976-02-20 00:00:00,95033
109,王芳,女,1975-02-10 00:00:00,95031
103,陆君,男,1974-06-03 00:00:00,95031
----看来该数据居然是这样的,每一条记录后面却没有分割符,时间也没有连接在一起。
----再作调整
C:\Users\jenkin>sqluldr2 parfile=C:\Users\jenkin\Desktop\img\sqlldr\outctl.txt q
uery="select * from student" table="student" file="C:\Users\jenkin\Desktop\img\s
qlldr\datas3.txt"
0 rows exported at 2017-04-11 10:49:33, size 0 MB.
6 rows exported at 2017-04-11 10:49:33, size 0 MB.
output file C:\Users\jenkin\Desktop\img\sqlldr\datas3.txt closed at 6 r
ows, size 0 MB.
C:\Users\jenkin>
---outctl文件内容
user=solgle/******@guard
charset=AL32UTF8
record=0x0d0x0a
alter=set nls_date_format='yyyymmddhh24miss';
---导出数据格式如下
108,曾华,男,19770901000000,95033
105,匡明,男,19751002000000,95031
107,王丽,女,19760123000000,95033
101,李军,男,19760220000000,95033
109,王芳,女,19750210000000,95031
103,陆君,男,19740603000000,95031
---可惜了,仍然没有成功。...原因不是字符宽度越界,就是在逻辑记录结束之前未找到列 (使用 TRAILING NULLCOLS)...
---再次尝试导出数据
C:\Users\jenkin>sqluldr2 parfile=C:\Users\jenkin\Desktop\img\sqlldr\outctl.txt q
uery="select * from student" table="student" file="C:\Users\jenkin\Desktop\img\s
qlldr\datas3.txt" head=yes
0 rows exported at 2017-04-11 11:35:44, size 0 MB.
6 rows exported at 2017-04-11 11:35:44, size 0 MB.
output file C:\Users\jenkin\Desktop\img\sqlldr\datas3.txt closed at 6 r
ows, size 0 MB.
---parfile文件内容如下
user=solgle/******@guard
charset=AL32UTF8
record=0x0d0x0a
alter=set nls_date_format='yyyymmdd';
---数据导出结果
SNO,SNAME,SSEX,SBIRTHDAY,SCLASS
118,曾华,男,19770901,95033
115,匡明,男,19751002,95031
117,王丽,女,19760123,95033
111,李军,男,19760220,95033
119,王芳,女,19750210,95031
113,陆君,男,19740603,95031
----再次更新控制文件再导入
load data
CHARACTERSET UTF8
infile 'datas1.txt'
badfile 'bad.txt'
append into table student
fields terminated by ','
(sno,sname,ssex,sbirthday date "yyyy-mm-dd",sclass)
----执行
C:\Users\jenkin>sqlldr solgle/******@guard control='C:\Users\jenkin\Desktop\im
g\sqlldr\loadctl.txt' log='C:\Users\jenkin\Desktop\img\sqlldr\log.txt' data='C:\
Users\jenkin\Desktop\img\sqlldr\datas3.txt' skip=1 rows=2
SQL*Loader: Release 11.2.0.1.0 - Production on 星期二 4月 11 12:54:27 2017
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
达到提交点 - 逻辑记录计数 2
达到提交点 - 逻辑记录计数 4
达到提交点 - 逻辑记录计数 6
C:\Users\jenkin>
---日志信息
表 STUDENT:
6 行 加载成功。
由于数据错误, 0 行 没有加载。
由于所有 WHEN 子句失败, 0 行 没有加载。
由于所有字段都为空的, 0 行 没有加载。
为绑定数组分配的空间: 2580 字节 (2 行)
读取 缓冲区字节数: 1048576
跳过的逻辑记录总数: 1
读取的逻辑记录总数: 6
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0
从 星期二 4月 11 12:54:27 2017 开始运行
在 星期二 4月 11 12:54:27 2017 处运行结束
经过时间为: 00: 00: 00.11
CPU 时间为: 00: 00: 00.05
---经验证,数据导入成功