作者:乔山办公网日期:
返回目录:excel表格制作
sql loader 工具它可以把一些以文本百格式存放的数据顺利的导入到度oracle数据库中,是一种在不同数据库之间进行数据迁移问的非常方便而且通用的工具。缺点就答速度比较慢(比直回接INSERT INTO快多了),另外对blob等类型的数据就有点麻烦答了 用法: SQLLDR keyword=value [,keyword=value,...]
http://blog.csdn.net/ycyez/article/details/44996207
例如将scott用户来下所有表,导入到test用户下
1 exp scott/tiger file=scott.dmp owner=scott
2 (1) 如果test用户下有scott的表,哪些需自要先删除在导入
conn test/test
select 'drop table '|知|table_name||' purge;' from user_tables;
imp test/test file=scott.dmp fromuser=scott touser=test
(2) 如果test用户下没有道scott用户的表,可以直接导入
imp test/test file=scott.dmp fromuser=scott touser=test
SQL*Loader是随Oracle一起发布和安装的命令行工具,命copy令名称为sqlldr。
该工具用于将外部文件数据导入ORACLE。
SQL*Loader在运行时,必须指定一个控制文件和一个数据文件,
除了将数百据输出到Oracle外,还可以输出其他文件,用以指度示运行状态,
包括:
Log File: 日志文件,用于输出运行过程中的消息日志。知当运行失败时,
可据此判断失败原因。
Bad Files: 错误数据行道。当数据文件中某一行数据导入失败,这行数据
将被输出到BadFile中。
1、打开要导出为oracle的Excel,将Excel文件保存为test.txt文件(文件->另存为)
2、创建SQL*Loader输入数据所需要的文件,均保存到C:,用记事本编辑:
控制文件:input.ctl,内容如下:
load data --1、控制文件标识
infile 'test.txt' --2、要输入的数据文件名为.txt,注意路径
append intotable Table_Name --3、向oracle表中追加记录
fields terminatedby X'09' --4、字段终止于X'09',是一个制表符(TAB)
(Col1,Col2…) 定义列对应顺序
a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
3、在DOS窗口下使用SQL*Loader命令实现数据的输入
C:>sqlldr userid=system/managercontrol=input.ctl
默认日志文件名为:input.log
默认坏记录文件为:input.bad
4、ok,现在就可以查看数据是否导入了。
ORACLESQL Loader的详细语法e799bee5baa6e997aee7ad94e78988e69d83364
SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。
要使用SQL*Loader,必须编辑一个控制文件(.ctl),及一个数据文件(.dat)
首先,我们认识一下SQL*LOADER
在windows下,SQL*LOADER的命令为SQLLDR,在UNIX下一般为sqlldr/sqlload。
如执行:d:\oracle>sqlldr
用法: SQLLOAD 关键字=值 [,keyword=value,...]
例如:>sqlldr user/pass
control=控制文件名 log=日志文件名
SQL*LOADER参数列表
参数名称
功能描述
Userid
数据库用户名及口令
Control
控制文件名称,描述数据加载的文件信息
Log
日志文件名称,用于记录数据加载过程的信息
Bad
坏信息文件名称,用于记录不符合要求的数据信息
Data
数据文件名称,记录要加载的原始数据
Discard
丢掉文件名称,记载了不满足条件而被过滤的数据
Discardmax
允许丢掉数据量,默认为全部丢掉
Skip
跳过几个逻辑记录,缺省为0
Load
要加载的记录数,默认为全部加载
Errors
允许出现的错误数,缺省为50
Direct
是否使用直接路径加载数据,默认为false
Readsize
缓冲区大小默认为1048576字节
1、首先创建空表
SQL>create table stu(stunonumber(5),name varchar(10),addr
varchar(20));
数据文件格式分为自由格式和固定格式
固定格式数据文件(mydata.txt)
001 SHUI LIAOHE
002 LIU BEIJING
其控制文件分别如下
#Load.ctl
Load data
Infile mydata.txt
Into table stu
(stuno position(01:03) integer external,
Name position(05:08) varchar,
Addr position(10:16) varchar)
导入数据
>sqlldr test1/test1 control=’d:\load.ctl’log=’d:\load.log’
自由格式数据文件(mydata.txt)
003,”shuics”,”new york”
004,”liujianxin”,”Beijing”
005,”shuiym”,”Canada”
其控制文件如下
#load.ctl
Load data
Infile mydata.txt
Append|insert|replace|truncate
Into table stu
Fields terminated by ‘,’
Optionally enclosed by ‘”’
(stuno,name,addr)
导入数据
将Excel数据加载到oracle数据库
1、将excel文件另存为文本文件(制表符分隔)
2、创建控制文件如下
Load data
Infile ‘book.txt’
Append
Into table stu
Fields terminated by X’09’
(stuno,name,addr)
其中X’09’是一个制表符(TAB)