参考文档:
http://blog.itpub.net/67253/viewspace-612089
http://oracleseeker.com/2008/09/10/develop-shell-script-type-concurrent-program/
1、表写shell脚本如下:
#!/bin/bash
REQUESTID=$4
# Setting the Log file for the .prog file
REPFILE=$APPLCSF/$APPLLOG/l$REQUESTID.req
PROBLEMS=0
echo " 开始调用slqld" >> $REPFILE
$ORACLE_HOME/bin/sqlldr userid=apps/apps
control=/home/appltest/data.ctl data=/home/appltest/data.csv
if [ $? != 0 ]
then
echo "**************************************************" >>
$REPFILE
echo "failed to do sqlldr" >> $REPFILE
echo "**************************************************" >>
$REPFILE
PROBLEMS=1
fi
echo "ssh脚本执行完成" >> $REPFILE
exit 0
2、将shell脚本xxx.sh放到$XXX_TOP/bin下,并重新命名为xxx.prog
创建一个链接到:
ln -s $FND_TOP/bin/fndcpesr $xxx_top/bin/xxx(创建的连接是指向xx.prog链接对应的文件需要把后缀prog去掉)。
注:fndcpesr文件是把ebs并发管理器的参数传递给shell脚本,shell脚本中获取参数的方式为$N进行获取。
3、定义并发请求
注:执行方法:“主机”,执行文件名:和你的上传到$xxx_top/bin/xxx中的文件名去掉后缀一定要一致,也应该是xxx。
4、定义并发程序
和其他定义并发程序一样
5、上面用到的data.ctl:
LOAD DATA
APPEND INTO TABLE
cux.cux_test
FIELDS TERMINATED BY X'09'
(id, lname)
6、上面用到的data.csv:
1 20160606 asfasfadsfas 21
中间用:X'09'隔开,也就是\t隔开。
7、导入ORACLE的表cux.cux_test的创建已经就不多说了很easy。