需求:今天客户发来一份xlsx格式的表格,需要在数据库里创建这张表,并且文档里的数据全部按照要求加载进这张表。
遇到装载数据的时候,大家都会想到用sqlldr。这个想法也很对。我们先看下表的结构。
这样才能创建成功;
“sqlldr userid=scott/scott@DB_JOYCE control='C:\Users\Administrator\AppData\Roaming\OraLoader\load_20130304110554.ctl' errors=50
log='C:\Users\Administrator\AppData\Roaming\OraLoader\load_20130304110554.log'
SQL*Loader: Release 11.2.0.3.0 - Production on 星期一 3月 4 11:05:55 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
控制文件: C:\Users\Administrator\AppData\Roaming\OraLoader\load_20130304110554.ctl
数据文件: C:\Users\Administrator\Desktop\wifi.txt
错误文件: C:\Users\Administrator\AppData\Roaming\OraLoader\load_20130304110554.bad
废弃文件: 未作指定
(可废弃所有记录)
要加载的数: ALL
要跳过的数: 0
允许的错误: 50
绑定数组: 64 行, 最大 256000 字节
继续: 未作指定
所用路径: 常规
表 S_WIFI,已加载从每个逻辑记录
插入选项对此表 APPEND 生效
TRAILING NULLCOLS 选项生效
列名 位置 长度 中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
ID FIRST * WHT CHARACTER
NULL if ID = 0X4e554c4c(字符 'NULL')
SSID NEXT * WHT CHARACTER
NULL if SSID = 0X4e554c4c(字符 'NULL')
SERVICE NEXT * WHT CHARACTER
NULL if SERVICE = 0X4e554c4c(字符 'NULL')
LABEL NEXT * WHT CHARACTER
NULL if LABEL = 0X4e554c4c(字符 'NULL')
NAME NEXT * WHT CHARACTER
NULL if NAME = 0X4e554c4c(字符 'NULL')
STATUS NEXT * WHT CHARACTER
NULL if STATUS = 0X4e554c4c(字符 'NULL')
TYPE NEXT * WHT CHARACTER
NULL if TYPE = 0X4e554c4c(字符 'NULL')
LEVEL NEXT * WHT CHARACTER
NULL if LEVEL = 0X4e554c4c(字符 'NULL')
ADDRESS NEXT * WHT CHARACTER
NULL if ADDRESS = 0X4e554c4c(字符 'NULL')
DISTRICT NEXT * WHT CHARACTER
NULL if DISTRICT = 0X4e554c4c(字符 'NULL')
APP NEXT * WHT CHARACTER
NULL if APP = 0X4e554c4c(字符 'NULL')
PROVINCE NEXT * WHT CHARACTER
NULL if PROVINCE = 0X4e554c4c(字符 'NULL')
NEAR NEXT * WHT CHARACTER
NULL if NEAR = 0X4e554c4c(字符 'NULL')
LNG NEXT * WHT CHARACTER
NULL if LNG = 0X4e554c4c(字符 'NULL')
LAT NEXT * WHT CHARACTER
NULL if LAT = 0X4e554c4c(字符 'NULL')
IP NEXT * WHT CHARACTER
NULL if IP = 0X4e554c4c(字符 'NULL')
FINISH_TIME