使用sqlldr命令导入资料到Oracle数据库表中的示例说明

CSV: Comma-Separated Values(逗号分隔值)的缩写,是以逗号分隔字段的多行文本文件

sqlldr 是sql*loader的缩写,此工具在安装完整版的Oracle客户端后就有

使用sqllldr可以将有规律的文本数据(如csv)导入数据表

导入示例:将csv文本文件andon.txt导入到manpowertest中的testandon表中

testandon表结构

create table TESTANDON
(
build_no VARCHAR2(5),
device_no VARCHAR2(5),
btn_no
VARCHAR2(5),
flag VARCHAR2(1),
data_time DATE  
 --此为时间格式,导入时要作特殊处理
)

1、用记事本或其它文本软件创建一个.ctl导入控件文件,此处以C:\andon.ctl为例,内容为

OPTIONS(SKIP=1)  
 --跳过1行,即跳过csv文件的第一行表头不导入
load data
infile ‘C:\andon.txt‘  
--要导入的csv文本的路径
append into table manpowertest.testandon  
--要导入到数据库中哪个表
fields terminated by ","  
--要导入的文本是以什么符号分隔字段的,这里是逗号
(

build_no,   --要导入到表中的哪些字段
device_no,

btn_no,
flag,
data_time timestamp "yyyy-mm-dd hh24:mi:ss"    
--由于数据表中此字段类型为date类型,并非文字类型,使用timestamp
"yyyy-mm-dd hh24:mi:ss"进行格式转换

)

2、在cmd中执行sqlldr命令如下

sqlldr userid=manpowertest/[email protected] control=c:\andon.ctl
log=c:\andon.log

附檔1:andon.txt

栋号,设备号,按钮代码,开关状态,触发时间

A2-1,4,2,1,2014-10-29 15:14:13
A2-1,30,2,0,2014-10-29 14:51:36
A2-2,10,2,0,2014-10-29 14:18:53
A2-2,11,2,0,2014-10-29 15:11:07
A2-2,12,2,0,2014-10-29 14:40:13

附檔2:andon.ctL

OPTIONS(SKIP=1)
load data
infile ‘C:\andon.txt‘
append into table manpowertest.testandon
fields terminated by ","
(build_no,
device_no,
btn_no,
flag,
data_time timestamp "yyyy-mm-dd hh24:mi:ss")

时间: 2024-08-12 01:40:37

使用sqlldr命令导入资料到Oracle数据库表中的示例说明的相关文章

oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?

Oracle 语句中"||"代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335select * from tablename order by col; 结果就是 cola123a234b335b999 如果按倒序排列:select * from tablename order by col desc; 结果就是 colb999b335a234a123 其他回答 先创

Oracle 数据库表中已有重复数据添加唯一键(唯一约束)

Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID CODE 1 code1 2 code2 3 code2 4 code2 5 code3 通过以上表中数据可以看出 code 是有重复数据的,此时如果我们直接添加唯一键,会报错. 通过 PL/SQL 可视化操作,或者通过 SQL 语句添加(ENABLE NOVALIDATE 的作用是约束新增数据但不会

将excel中数据导入到指定的数据库表中

1.先在数据库中查看表的结构:2.根据表的结构整理excel表结构及数据:3.右击数据库-任务-导入数据:4.选择源数据:5.选择目标:6.选择复制数据模式:7.选择目标数据表:8.点击下一步,然后执行. 原文地址:http://blog.51cto.com/2212826/2122018

将txt文件内容导入sql server 数据库表中

将类似这样的txt文件,如何导入到sql server 数据库表中呢? 第一步,在开始菜单中 找到 sql server 的导入和导出数据 然后,在数据源 的下拉框中 选择 平面文件源 基本都是点击 下一步 选择好要导入数据的数据库 与表: 编辑映射 : 点击下一步 执行 然后 完成 查看数据库 表 数据已经导入 成功

使用Sqoop1.4.4将MySQL数据库表中数据导入到HDFS中

问题导读:         1.--connect参数作用? 2.使用哪个参数从控制台读取数据库访问密码? 3.Sqoop将关系型数据库表中数据导入HDFS基本参数要求及命令? 4.数据默认导入HDFS文件系统中的路径? 5.--columns参数的作用? 6.--where参数的作用? 一.部分关键参数介绍 参数介绍 --connect <jdbc-uri> 指定关系型数据库JDBC连接字符串 --connection-manager <class-name> 指定数据库使用的管

Oracle数据库表设计时的注意事项

表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与管理上,或多或少,会犯一些错误.笔者今天就谈谈自己在这方面的经验与教训,或许能够给大家一些警示作用. 表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计

如何查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

要查看Oracle数据库表空间大小,是否需要增加表空间的数据文件,在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见. --1.查看表空间已经使用的百分比 Sql代码 select   a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.by

将Hive统计分析结果导入到MySQL数据库表中(一)——Sqoop导入方式

最近在做一个交通流的数据分析,需求是对于海量的城市交通数据,需要使用MapReduce清洗后导入到HBase中存储,然后使用Hive外部表关联HBase,对HBase中数据进行查询.统计分析,将分析结果保存在一张Hive表中,最后使用Sqoop将该表中数据导入到MySQL中.整个流程大概如下: 下面我主要介绍Hive关联HBase表--Sqoop导出Hive表到MySQL这些流程,原始数据集收集.MapReduce清洗及WEB界面展示此处不介绍. 一.HBase数据库表 hbase(main):

基于Cordys C3版平台应用系统维护经验一则——Oracle数据库表空间满了

某日中午,有用户陆续反映系统问题,说流程送出异常.待办不消失.待办打不开等等.维护工程师开始分析问题,后台较为清晰的现象是流转日志记录插入数据失败,人工测试表插入成功,其它现象五花八门,没有规律,经过多位维护工程师的努力,终于由Oracle数据库管理工程师在16:01排除故障,系统基本恢复"正常". 故障原因是"应用系统Oracle数据库中Cordys用户所对应的表空间"满了,导致应用无法正常向数据库写入数据,造成业务数据不完整. 第二日,维护人员根据用户反馈,逐个