【发布时间】:2015-08-31 21:02:57
【问题描述】:
当我的 shell 脚本运行时,我是一个动态创建控制文件,带有:
echo 'LOAD DATA' > $CTLDIR/test.ctl
echo 'TRUNCATE' >> $CTLDIR/test.ctl
echo 'INTO TABLE TEMP' >> $CTLDIR/test.ctl
echo 'FIELDS TERMINATED BY ","' >> $CTLDIR/test.ctl
echo 'TRAILING NULLCOLS' >> $CTLDIR/test.ctl
echo '(' >> $CTLDIR/test.ctl
echo 'NO, ' >> $CTLDIR/test.ctl
echo 'I_NUM , ' >> $CTLDIR/test.ctl
echo 'QTY , ' >> $CTLDIR/test.ctl
echo 'CREATE_DATETIME SYSDATE' >> $CTLDIR/test.ctl
echo ')' >> $CTLDIR/test.ctl
当我执行我的 shell 脚本时,我收到错误“预期关键字 INTO,找到关键字 LOAD。”
请帮我解决这个问题。
【问题讨论】:
-
您还没有展示您是如何调用 SQL*Loader 的,或者生成的控制文件实际上是什么样的(尽管看起来应该没问题)。你做了什么调试?
-
也许您可以随后显示整个脚本,以及运行它的输出,以及一个日志文件(如果生成的话)。从您在评论中显示的调用(也请在问题中编辑),调用看起来没问题,所以也许您稍后在脚本中覆盖了控制文件,或者一开始就无法覆盖控制文件。需要更多信息。
标签: oracle shell unix sql-loader