我试图提取具有.txt文件的tar文件,然后读取.txt文件分隔的.txt文件。并将其加载到Oracle DB中。我能够解压缩文件但是当它到达"做/home/uid/test/dataTest.sql"。它说无法执行。
以任何方式阅读.txt文件,用" |"并在不使用sqlldr的情况下将其加载到oracle DB
是"加载数据infile"可以像在MySQL中一样直接在Oracle中使用而不使用sqlldr ??
**//testScript.sh**
tar -xvf test.tar
[ -f "/home/uid/test/ref.txt" ] && echo "File present" || exit 1
while read line
do
/home/uid/test/dataTest.sql
done < /home/uid/test/ref.txt
##Here connect the DB to insert
sqlldr -s username/pwd@//hostname:portNumb <<EOF
set scan off;
@/home/uid/test/dataTest.sql
exit;
EOF
**//dataTest.sql**
load data
infile '/home/uid/test/ref.txt'
into table STAGE1
fields terminated by "|"
( NAME, NUMB, FILENAME );
**//ref.txt**
Suraj R Krishna, SF|1234598|2015FEB_Suraj R Krishna, SF(xxxxx4598)
Krish S Sampson, TE, SRFT|1234934|2015FEB_Krish S Sampson, TE, SRFT
(xxxxx4934)
感谢您的任何帮助! 谢谢!
答案 0 :(得分:1)
读取行时删除 做 /home/uid/test/dataTest.sql 完成&lt; /home/uid/test/ref.txt 与
sqlldr ${USERNAME}/${PASSWORD}@${DATABASENAME} SILENT=HEADER,FEEDBACK control=/home/uid/test/dataTest.sql LOG=<name>
/home/uid/test/dataTest.sql看起来像一个Control文件。