我有这种情况:
在我的工作目录中,我有 sh 脚本, ctl 文件和输入文件, 当我尝试使用输入参数(filename.txt)启动shell脚本时:
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
答案 0 :(得分:0)
当mysh.sh shell脚本和输入文件filename.txt放在同一个位置时,shell脚本能够找到该文件(如果在其他路径中则不会工作)。但是sqlldr是一个安装在不同位置的oracle工具,所以你应该通过完整的路径找到一个文件。