您的位置:首页 > 数据库

UNIX主机文件导入数据库方法以及sqlldr在AIX主机使用方法

2017-09-19 11:22 525 查看

sqlldr使用方法

DATABASE=admin/password@INSTANCE_NAME

sqlldr $DATABASE   data=TEMP.txt    control=temp.ctl    skip=1  load=200000 errors=100 rows=1000  bindsize=33554432

参数说明:

$DATABASE      //数据库连接

data           //原数据文件

control        //sqlldr控制文件位置

skip=1         //表示跳过第一行,从第二行开始导入

load=200000    //表示并不导入所有的数据,只导入跳过skip参数后的200000条数据

rows=1000     //表示一次加载的行数,默认值为64,此处设置为1000

errors=100    //表示出错100次后,停止加载

bindsize=33554432 //表示每次提交记录缓冲区的大小,默认256k

temp.ctl 内容 数据用换行分割

load  data

append

INTO TABLE  testtable

trailing nullcols

(

  testdate  terminated by '\r\n'

)

test.txt 文件数据

------------------head---------------

000001

000002

000003

000004

文件导入例子

DATABASE=admin/password@INSTANCE_NAME

for  FILENAME in   `ls   test.txt`

do

awk -F. '{print $0}' $FILENAME>TEMP_$FILENAME.txt

echo "\n读取数据"

#获取文件行数

num=`cat $FILENAME|wc -l`

#一般文件都有首行说明不需要入库可以删除,统计实际行数

recnum=`expr $num-1`

sqlldr $DATABASE   data=TEMP_$FILENAME.txt    control=temp.ctl    skip=1  load=$recnum

rm TEMP_$FILENAME.txt 

echo "读取数据结束"

done

sqlplus -s $DATABASE << EOF

         set heading off feedback off pagesize 0 verify off echo off

exit;

EOF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐