⽂本导⼊数据到oracle_oracle数据库导⼊TXT⽂件⽅法介绍客户端连接数据库导⼊
1. 安装有oracle客户端,配好监听。
2. 以oracle数据库app⽤户的表user_svc_info为例
CREATE TABLE USER_SVC_INFO(
PHONE varchar2(20) NOT NULL,
SVC_ID varchar2(32) NOT NULL,
P_USERNAME varchar2(100) NULL,
USER_STATUS number NOT NULL ,
P_ALIAS varchar2(50) NULL,
IMSI varchar2(32) NULL,
SVC_UPDATETIME timestamp(3) NULL,
SVC_TYPE number NOT NULL,
SVC_STATUS number NOT NULL,
REC_UPDATETIME varchar2(20) NULL,
SVC_IDK varchar2(32) NULL,
PROSTART_TIME varchar2(24) NULL,
PROEND_TIME varchar2(24) NULL,
DOWN_TYPE number NULL );
在e:\sqlldr下创建⼀个控制命令的脚本⽂件,通常以.ctl结尾,如l
脚本内容如下:
load data
infile ''
append into table user_svc_info
fields terminated by ','
TRAILING NULLCOLS
(PHONE,SVC_ID,P_USERNAME,USER_STATUS,P_ALIAS,IMSI,
SVC_UPDATETIME timestamp 'yyyy-mm-dd hh24:mi:ss.ff',
SVC_TYPE,SVC_STATUS,REC_UPDATETIME,SVC_IDK,
PROSTART_TIME,PROEND_TIME,DOWN_TYPE)
解释说明:
infile '' 表⽰要导⼊的⽂本⽂件名为
append into table 后接要导⼊的表名
此处⽤append表⽰追加到表中,若⽤
Insert 表⽰导⼊空表,有数据则停⽌;
Replace表⽰原来表中如果有数据,则会被删除(⽤delete from table语句)
Truncate表⽰原来表中如果有数据,则会被清除(⽤truncate table语句)
fields terminated by ',' 数据中每⾏记录⽤”,”分隔
TRAILING NULLCOLS 表的字段没有对应的值时允许为空
括号内为表的所有字段,⽇期格式的字段要进⾏转换,如上SVC_UPDATETIME若是date类型,则⽤SVC_UPDATETIME date 'yyyy-mm-dd hh24:mi:ss'
脚本写好后,脚本与放在同⼀个⽂件夹内,在cmd下执⾏命令:
E:
cd e:\sqlldr
sqlldr userid=app/app@imusic l
表数据导出:在操作系统下创建导出脚本(要赋予此脚本可执⾏权限):
表数据导出脚本:
以app⽤户下的user_svc_info为例,若要使如下语句的结果导出成.txt⽂件,每个字段的值以”,”分隔:
Select phone,svc_type,svc_udatetime from user_svc_ifno where rownum<100;
可以oracle⽤户登录系统,创建脚本如vim info.sh
#!/bin/bash
sqlplus "app/app"<
set heading off;
set echo off;
set feedback off;
set verify off;
set wrap off;
set pagesize 0;
set linesize 2500;
set trimout on;
set trimspool on;
spool /usr/local/oracle/user_svc_;
select phone||','||svc_type||','||svc_updatetime from user_svc_info where rownum<100;
set define on;
set heading on;
set echo on;
set feedback on;
spool off
quit;
EOF
执⾏脚本:
./info.sh
⽣成的user_svc_⽂件则是想导出的数据⽂件。
oracle数据库自动备份方法Set heading on/off; 让结果⾏的标题显⽰/不显⽰
set echo on/off;控制是否在执⾏命令时打印出所执⾏的命令,OFF则不打印。
set feedback on/off显⽰由脚本返回的记录数时,脚本选择⾄少n个记录。 ON或OFF打开或关闭此显⽰。
set verify on/off控制是否列出在sql语句或PL/SQL脚本中变量替换的值
set wrap on/off; 控制是否截断选定⾏显⽰如果当前⾏太宽长。OFFz则是关闭选定⾏截断;既允许选择的⾏换⾏到下⼀⾏。
set trimout on/off;确定是否允许在每⾏末尾显⽰空⽩,OFF允许在每⾏末尾显⽰空⽩,ON不允许输出空⽩。
set trimspool on/off;确定是否允许在每⾏末尾显⽰空格,OFF允许在每⾏末尾显⽰空格,ON不允许输出空格。
总结
以上就是本⽂关于oracle数据库导⼊TXT⽂件⽅法介绍,希望对⼤家有所帮助。感兴趣的朋友可以参阅:Oracle RMAN⾃动备份控制⽂件⽅法介绍 、 oracle 数据库启动阶段分析 、 oracle 虚拟专⽤数据库详细介绍等。感谢⼤家对本站的⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论