麻烦前辈帮写一个shell,功能是读取文本文件的数据后插入oracle数据库,需要用到awk

已知一个文本文件test.txt 存储了一张数据表,字段名称分别是:名称、年龄、编号。字段之间用!(感叹号)做为分割符。例如第一行是:john!25!10余下行类似,写一个shell,功能是将这个文本文件的内容写入oracle数据库,需要用到awk来实现,至于oracle用到的一些环境可以先自行虚拟一下,例如用户名/密码可以先用 username/password代替 数据库名称用dbname代替,表名称用tablename代替等等,需要替换的麻烦注释一下.

第1个回答  2010-12-08
#
awk -F'!' '{print"insert into tablename values ("$3",'\''"$1"'\'',"$2");"}' stu.dat > stu.sql;
echo 'commit;'>>stu.sql;
cat stu.sql;
#
nohup sqlplus username/password@dbname < stu.sql &本回答被提问者采纳
第2个回答  2010-12-07
这个没必要用SHELL AWK自己写,完全可以用sqlldr来完成。本回答被网友采纳
第3个回答  2010-12-07
大概思路 你自己替换吧

#!/bin/bash
clear
path=test.txt

dir()
{
sqlplus / as sysdba >> logname.log <<EOF
insert into tablename values($1,$2,$3);
EOF
}
while read line
do
dir $line
done<$path
第4个回答  2010-12-08
每日定时执行的话就写个脚本用sqlldr搞进去,要是偶儿搞一次就复制粘贴,或者搜一把导入的小软件很方便的,网上很多
第5个回答  2010-12-07
呵呵,这个不难。价格100元,可以hi我!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网