1

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.sqlMyScript2.sql 動作します

/Some/random/folder

MyScript1.sql正常に実行されますが、MyScript2.sqlエラーが発生します

4

1 に答える 1