我有这样的设想:
在我的工作目录中,我有一个sh脚本、ctl文件和输入文件,当我尝试使用输入参数(filename.txt)启动该脚本时:
mysh.sh filename.txt我知道这个错误:
SQL*Loader-500: Unable to open file (filename.txt)
SQL*Loader-553: file not found
SQL*Loader-509: System error: No such file or directory
SQL*Loader-2026: the load was aborted because SQL Loader cannot continue.注意:所有对象(文件和目录有777个权限)
如果我使用输入文件的完整路径启动shell脚本,那么一切都正常。
mysh.sh fullpathtofile/filename.txt我的问题是:当我只将文件名作为输入参数时,为什么不能工作?
我的sh文件的部分内容:
!/usr/bin/sh
sqlldr $USER/$PASSWD control=pathtofile data=$1 log=pathtofile bad=pathtofile发布于 2017-06-28 13:24:54
由于mysh.sh shell脚本和输入文件filename.txt放置在同一个位置,所以shell脚本能够定位该文件(如果位于其他路径,则无法工作)。但是sqlldr是一个安装在不同位置的oracle工具,因此您应该通过完整的路径来定位文件。
https://stackoverflow.com/questions/44797615
复制相似问题