我正在从 bash 运行 SQL 脚本。其中一个脚本似乎运行良好,但另一个脚本失败。您能否告知可能是什么原因?
#!/bin/bash
sqlplus -S user/password@database << EOF
whenever sqlerror exit sql.sqlcode;
set echo off
set heading off
@MyScript1
@MyScript2
exit;
EOF
错误:
SP2-0310: unable to open file "MyScript2.sql"
在 Unix 中,两者的访问级别是:
-rwxrwxrwx MyScript1.sql
-rwxrwxrwx MyScript2.sql
该错误确实表明它无法访问该文件MyScript2.sql
。但我很好奇的是它为什么可以访问MyScript1.sql
同一个文件夹中存在的文件,但不能访问MyScript2.sql
?
此外,如果我从文件所在的文件夹中仅在 unix(使用 SQL*Plus)中运行该文件,它就可以正常工作。但是,如果我从不同的文件夹中运行相同的内容,则不会。下面的例子将更好地解释它
/Folder/having/the/files
两者都 MyScript1.sql
运行MyScript2.sql
良好
/Some/random/folder
MyScript1.sql
运行良好,但MyScript2.sql
出现错误