bash から SQL スクリプトを実行しています。スクリプトの 1 つが正常に実行されているように見えますが、他のスクリプトは失敗します。同じ原因として考えられることを教えてください。
#!/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
なぜですか?
また、ファイルが存在するフォルダーから (SQL*Plus を使用して) unix でファイルを実行すると、正常に動作します。しかし、別のフォルダーから同じものを実行しても、そうではありません。以下の例はそれをよりよく説明します
/Folder/having/the/files
両方とも 正常MyScript1.sql
にMyScript2.sql
動作します
/Some/random/folder
MyScript1.sql
正常に実行されますが、MyScript2.sql
エラーが発生します